![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkAdvancedTransform.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::InputVectorType | InputVectorType |
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
typedef SpatialJacobianType::InternalMatrixType | InternalMatrixType |
typedef Superclass::InverseTransformBasePointer | InverseTransformBasePointer |
typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
typedef std::vector < SpatialHessianType > | JacobianOfSpatialHessianType |
typedef std::vector < SpatialJacobianType > | JacobianOfSpatialJacobianType |
typedef Superclass::JacobianType | JacobianType |
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType |
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
typedef Superclass::OutputCovariantVectorType | OutputCovariantVectorType |
typedef Superclass::OutputPointType | OutputPointType |
typedef Superclass::OutputVectorType | OutputVectorType |
typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef AdvancedTransform | Self |
typedef FixedArray< Matrix < ScalarType, InputSpaceDimension, InputSpaceDimension > , OutputSpaceDimension > | SpatialHessianType |
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType |
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > | Superclass |
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > | TransformType |
typedef TransformType::ConstPointer | TransformTypeConstPointer |
typedef TransformType::Pointer | TransformTypePointer |
Protected Member Functions | |
AdvancedTransform () | |
AdvancedTransform (NumberOfParametersType numberOfParameters) | |
virtual | ~AdvancedTransform () |
Protected Attributes | |
bool | m_HasNonZeroJacobianOfSpatialHessian |
bool | m_HasNonZeroSpatialHessian |
Private Member Functions | |
AdvancedTransform (const Self &) | |
void | operator= (const Self &) |
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 82 of file itkAdvancedTransform.h.
typedef SmartPointer< const Self > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer |
Definition at line 93 of file itkAdvancedTransform.h.
typedef Superclass ::InputCovariantVectorType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType |
Definition at line 114 of file itkAdvancedTransform.h.
typedef Superclass::InputPointType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InputPointType |
Definition at line 119 of file itkAdvancedTransform.h.
typedef Superclass::InputVectorType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InputVectorType |
Definition at line 111 of file itkAdvancedTransform.h.
typedef Superclass::InputVnlVectorType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InputVnlVectorType |
Definition at line 117 of file itkAdvancedTransform.h.
typedef SpatialJacobianType::InternalMatrixType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InternalMatrixType |
Definition at line 146 of file itkAdvancedTransform.h.
typedef Superclass::InverseTransformBasePointer itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer |
Definition at line 123 of file itkAdvancedTransform.h.
typedef Superclass::InverseTransformBaseType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType |
Definition at line 122 of file itkAdvancedTransform.h.
typedef std::vector< SpatialHessianType > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialHessianType |
Definition at line 145 of file itkAdvancedTransform.h.
typedef std::vector< SpatialJacobianType > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialJacobianType |
Definition at line 139 of file itkAdvancedTransform.h.
typedef Superclass::JacobianType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianType |
Definition at line 110 of file itkAdvancedTransform.h.
typedef std::vector< unsigned long > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::NonZeroJacobianIndicesType |
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 136 of file itkAdvancedTransform.h.
typedef Superclass::NumberOfParametersType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::NumberOfParametersType |
Definition at line 109 of file itkAdvancedTransform.h.
typedef Superclass ::OutputCovariantVectorType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType |
Definition at line 116 of file itkAdvancedTransform.h.
typedef Superclass::OutputPointType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::OutputPointType |
Definition at line 120 of file itkAdvancedTransform.h.
typedef Superclass::OutputVectorType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::OutputVectorType |
Definition at line 112 of file itkAdvancedTransform.h.
typedef Superclass::OutputVnlVectorType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType |
Definition at line 118 of file itkAdvancedTransform.h.
typedef Superclass::ParametersType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersType |
Definition at line 107 of file itkAdvancedTransform.h.
typedef Superclass::ParametersValueType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersValueType |
Definition at line 108 of file itkAdvancedTransform.h.
typedef SmartPointer< Self > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::Pointer |
Definition at line 92 of file itkAdvancedTransform.h.
typedef Superclass::ScalarType itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::ScalarType |
Typedefs from the Superclass.
Definition at line 106 of file itkAdvancedTransform.h.
typedef AdvancedTransform itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::Self |
Standard class typedefs.
Definition at line 88 of file itkAdvancedTransform.h.
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialHessianType |
Definition at line 144 of file itkAdvancedTransform.h.
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialJacobianType |
Definition at line 138 of file itkAdvancedTransform.h.
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::Superclass |
Definition at line 91 of file itkAdvancedTransform.h.
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformType |
Transform typedefs for the from Superclass.
Definition at line 128 of file itkAdvancedTransform.h.
typedef TransformType::ConstPointer itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformTypeConstPointer |
Definition at line 130 of file itkAdvancedTransform.h.
typedef TransformType::Pointer itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformTypePointer |
Definition at line 129 of file itkAdvancedTransform.h.
|
protected |
|
protected |
|
inlineprotectedvirtual |
Definition at line 295 of file itkAdvancedTransform.h.
|
private |
|
inlinevirtual |
Override some pure virtual ITK4 functions.
Definition at line 217 of file itkAdvancedTransform.h.
|
inlinevirtual |
Definition at line 224 of file itkAdvancedTransform.h.
|
virtual |
New method for creating an object using a factory. Run-time type information (and related methods).
Reimplemented in elastix::BSplineTransformWithDiffusion< TElastix >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, elastix::SplineKernelTransform< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::WeightedCombinationTransformElastix< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, elastix::SimilarityTransformElastix< TElastix >, elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::EulerTransformElastix< TElastix >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AffineDTI3DTransform< TScalarType >, elastix::DeformationFieldTransform< TElastix >, itk::AdvancedSimilarity2DTransform< TScalarType >, elastix::TranslationTransformElastix< TElastix >, itk::AdvancedIdentityTransform< TScalarType, NDimensions >, itk::AdvancedRigid2DTransform< TScalarType >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >, itk::AdvancedEuler3DTransform< TScalarType >, itk::AdvancedVersorRigid3DTransform< TScalarType >, itk::AdvancedRigid3DTransform< TScalarType >, itk::AdvancedSimilarity3DTransform< TScalarType >, itk::AdvancedVersorTransform< TScalarType >, itk::DeformationVectorFieldTransform< TScalarType, NDimensions >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedTranslationTransform< TScalarType, NDimensions >, itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >, itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
|
virtual |
|
virtual |
Whether the advanced transform has nonzero matrices.
Reimplemented in itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, and itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >.
|
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 itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::KernelTransform2< TScalarType, NDimensions >, itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >, itk::AffineDTI3DTransform< TScalarType >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, 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 itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >.
|
pure virtual |
Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.
Implemented in itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >.
|
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 itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >.
|
pure virtual |
Compute both the spatial Jacobian and the Jacobian of the spatial Jacobian of the transformation.
Implemented in itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >.
|
virtual |
Get the number of nonzero Jacobian indices. By default all.
Reimplemented in itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, and itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >.
|
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 itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >.
|
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 itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >, itk::AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >, itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >, itk::KernelTransform2< TScalarType, NDimensions >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedCombinationTransform< TScalarType, NDimensions >, itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >, itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >, and itk::DeformationFieldInterpolatingTransform< TScalarType, NDimensions, TComponentType >.
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 | |||
) |
|
private |
|
protected |
Definition at line 298 of file itkAdvancedTransform.h.
|
protected |
Definition at line 297 of file itkAdvancedTransform.h.
Generated on 27-04-2014 for elastix by ![]() |
![]() |