#include <itkAdvancedTransform.h>
Transform maps points, vectors and covariant vectors from an input space to an output space.
This abstract class define the generic interface for a geometrical transformation from one space to another. The class provides methods for mapping points, vectors and covariant vectors from the input space to the output space.
Given that transformation are not necessarily invertible, this basic class does not provide the methods for back transformation. Back transform methods are implemented in derived classes where appropriate.
Another requirement of the registration framework is the computation of the Jacobian of the transform T. In general, an ImageToImageMetric requires the knowledge of this Jacobian in order to compute the metric derivatives. The Jacobian is a matrix whose element are the partial derivatives of the transformation with respect to the array of parameters mu that defines the transform, evaluated at a point p: dT/dmu(p).
If penalty terms are included in the registration, the transforms also need to implement other derivatives of T. Often, penalty terms are functions of the spatial derivatives of T. Therefore, e.g. the SpatialJacobian dT/dx and the SpatialHessian d^2T/dx_idx_j require implementation. The GetValueAndDerivative() requires the d/dmu of those terms. Therefore, we additionally define GetJacobianOfSpatialJacobian() and GetJacobianOfSpatialHessian().
Definition at line 83 of file itkAdvancedTransform.h.
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | InternalMatrixType = typename SpatialJacobianType::InternalMatrixType |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | JacobianOfSpatialHessianType = std::vector<SpatialHessianType> |
using | JacobianOfSpatialJacobianType = std::vector<SpatialJacobianType> |
using | MovingImageGradientType = OutputCovariantVectorType |
using | MovingImageGradientValueType = typename MovingImageGradientType::ValueType |
using | NonZeroJacobianIndicesType = std::vector<unsigned long> |
using | Pointer = SmartPointer<Self> |
using | Self = AdvancedTransform |
using | SpatialHessianType |
using | SpatialJacobianType = Matrix<ScalarType, OutputSpaceDimension, InputSpaceDimension> |
using | Superclass = Transform<TScalarType, NInputDimensions, NOutputDimensions> |
using | TransformType = Transform<TScalarType, NInputDimensions, NOutputDimensions> |
using | TransformTypeConstPointer = typename TransformType::ConstPointer |
using | TransformTypePointer = typename TransformType::Pointer |
Public Member Functions | |
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
virtual const char * | GetClassName () const |
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
virtual bool | GetHasNonZeroSpatialHessian () const |
virtual void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
virtual void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const =0 |
virtual void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const =0 |
ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
Protected Member Functions | |
AdvancedTransform ()=default | |
~AdvancedTransform () override=default | |
Protected Attributes | |
bool | m_HasNonZeroJacobianOfSpatialHessian { true } |
bool | m_HasNonZeroSpatialHessian { true } |
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 92 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InternalMatrixType = typename SpatialJacobianType::InternalMatrixType |
Definition at line 140 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
Definition at line 121 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialHessianType = std::vector<SpatialHessianType> |
Definition at line 139 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialJacobianType = std::vector<SpatialJacobianType> |
Definition at line 135 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientType = OutputCovariantVectorType |
Typedef for the moving image gradient type. This type is defined by the B-spline interpolator as typedef CovariantVector< RealType, ImageDimension > As we cannot access this type we simply re-construct it to be identical.
Definition at line 147 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientValueType = typename MovingImageGradientType::ValueType |
Definition at line 148 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::NonZeroJacobianIndicesType = std::vector<unsigned long> |
Types for the (Spatial)Jacobian/Hessian. Using an itk::FixedArray instead of an std::vector gives a performance gain for the SpatialHessianType.
Definition at line 133 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::Pointer = SmartPointer<Self> |
Definition at line 91 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::Self = AdvancedTransform |
Standard class typedefs.
Definition at line 89 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialHessianType |
Definition at line 137 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialJacobianType = Matrix<ScalarType, OutputSpaceDimension, InputSpaceDimension> |
Definition at line 134 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::Superclass = Transform<TScalarType, NInputDimensions, NOutputDimensions> |
Definition at line 90 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformType = Transform<TScalarType, NInputDimensions, NOutputDimensions> |
Transform typedefs for the from Superclass.
Definition at line 125 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformTypeConstPointer = typename TransformType::ConstPointer |
Definition at line 127 of file itkAdvancedTransform.h.
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformTypePointer = typename TransformType::Pointer |
Definition at line 126 of file itkAdvancedTransform.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
inlineoverride |
Override some pure virtual ITK4 functions.
Definition at line 229 of file itkAdvancedTransform.h.
|
virtual |
Compute the inner product of the Jacobian with the moving image gradient. The Jacobian is (partially) constructed inside this function, but not returned.
Reimplemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, and itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.
|
virtual |
New method for creating an object using a factory. Run-time type information (and related methods).
Reimplemented in elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::DeformationFieldTransform< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::ExternalTransform< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, elastix::TranslationTransformElastix< TElastix >, elastix::WeightedCombinationTransformElastix< TElastix >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransformBase< double, 3 >, itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >, itk::AdvancedBSplineDeformableTransformBase< float, NDimensions >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedEuler3DTransform< TScalarType >, itk::AdvancedEuler3DTransform< float >, itk::AdvancedIdentityTransform< TScalarType, NDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::AdvancedRigid2DTransform< TScalarType >, itk::AdvancedRigid2DTransform< double >, itk::AdvancedRigid2DTransform< float >, itk::AdvancedRigid3DTransform< TScalarType >, itk::AdvancedRigid3DTransform< double >, itk::AdvancedRigid3DTransform< float >, itk::AdvancedSimilarity2DTransform< TScalarType >, itk::AdvancedSimilarity2DTransform< float >, itk::AdvancedSimilarity3DTransform< TScalarType >, itk::AdvancedSimilarity3DTransform< float >, itk::AdvancedTranslationTransform< TScalarType, NDimensions >, itk::AdvancedTranslationTransform< float, 3 >, itk::AdvancedVersorRigid3DTransform< TScalarType >, itk::AdvancedVersorRigid3DTransform< double >, itk::AdvancedVersorRigid3DTransform< float >, itk::AdvancedVersorTransform< TScalarType >, itk::AdvancedVersorTransform< double >, itk::AdvancedVersorTransform< float >, itk::AffineDTI2DTransform< TScalarType >, itk::AffineDTI3DTransform< TScalarType >, itk::AffineLogStackTransform< NDimension >, itk::AffineLogTransform< TScalarType, Dimension >, itk::BSplineStackTransform< NDimension >, itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >, itk::DeformationVectorFieldTransform< TScalarType, NDimensions >, itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::EulerStackTransform< NDimension >, itk::GPUAdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder, TParentTransform >, itk::GPUAdvancedCombinationTransform< TScalarType, NDimensions, TParentTransform >, itk::GPUAdvancedEuler2DTransform< TScalarType, TParentTransform >, itk::GPUAdvancedEuler3DTransform< TScalarType, TParentTransform >, itk::GPUAdvancedMatrixOffsetTransformBase< TScalarType, NDimensions, TParentTransform >, itk::GPUAdvancedSimilarity2DTransform< TScalarType, TParentTransform >, itk::GPUAdvancedSimilarity3DTransform< TScalarType, TParentTransform >, itk::GPUAdvancedTranslationTransform< TScalarType, NDimensions, TParentTransform >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, itk::TranslationStackTransform< NDimension >, itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
virtual |
|
virtual |
Whether the advanced transform has nonzero matrices.
Reimplemented in itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, and itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >.
|
pure virtual |
This returns a sparse version of the Jacobian of the transformation.
The Jacobian is expressed as a vector of partial derivatives of the transformation components with respect to the parameters that define the transformation , evaluated at a point .
with the number of parameters, i.e. the size of , and the dimension of the image.
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedEuler3DTransform< TScalarType >, itk::AdvancedEuler3DTransform< float >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::AdvancedRigid2DTransform< TScalarType >, itk::AdvancedRigid2DTransform< double >, itk::AdvancedRigid2DTransform< float >, itk::AdvancedSimilarity2DTransform< TScalarType >, itk::AdvancedSimilarity2DTransform< float >, itk::AdvancedSimilarity3DTransform< TScalarType >, itk::AdvancedSimilarity3DTransform< float >, itk::AdvancedVersorRigid3DTransform< TScalarType >, itk::AdvancedVersorRigid3DTransform< double >, itk::AdvancedVersorRigid3DTransform< float >, itk::AdvancedVersorTransform< TScalarType >, itk::AdvancedVersorTransform< double >, itk::AdvancedVersorTransform< float >, itk::AffineDTI2DTransform< TScalarType >, itk::AffineDTI3DTransform< TScalarType >, itk::AffineLogTransform< TScalarType, Dimension >, itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
pure virtual |
Compute the Jacobian of the spatial Hessian of the transformation.
The Jacobian of the spatial Hessian is the derivative of the spatial Hessian to the transformation parameters , evaluated at a point .
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
pure virtual |
Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
pure virtual |
Compute the Jacobian of the spatial Jacobian of the transformation.
The Jacobian of the spatial Jacobian is the derivative of the spatial Jacobian to the transformation parameters , evaluated at a point .
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
pure virtual |
Compute both the spatial Jacobian and the Jacobian of the spatial Jacobian of the transformation.
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
virtual |
Get the number of nonzero Jacobian indices. By default all.
Reimplemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransformBase< double, 3 >, itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >, itk::AdvancedBSplineDeformableTransformBase< float, NDimensions >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >.
|
pure virtual |
Compute the spatial Hessian of the transformation.
The spatial Hessian is the vector of matrices of partial second order derivatives of the transformation components with respect to the spatial position , evaluated at a point .
with i the i-th component of the transformation.
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
pure virtual |
Compute the spatial Jacobian of the transformation.
The spatial Jacobian is expressed as a vector of partial derivatives of the transformation components with respect to the spatial position , evaluated at a point .
with the number of parameters, i.e. the size of , and the dimension of the image.
Implemented in elastix::AdvancedTransformAdapter< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedCombinationTransform< float, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< double, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >, itk::AdvancedMatrixOffsetTransformBase< float, 3, 3 >, itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::KernelTransform2< TScalarType, NDimensions >, itk::KernelTransform2< double, 3 >, itk::KernelTransform2< TScalarType, 3 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::StackTransform< elx::ElastixBase::CoordRepType, NDimension, NDimension >, and itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >.
itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | ) |
itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | InputSpaceDimension | , |
unsigned int | , | ||
NInputDimensions | ) |
Dimension of the domain space.
itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | OutputSpaceDimension | , |
unsigned int | , | ||
NOutputDimensions | ) |
|
protected |
Definition at line 304 of file itkAdvancedTransform.h.
|
protected |
Definition at line 303 of file itkAdvancedTransform.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |