go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::AdvancedCombinationTransform< TScalarType, NDimensions > Class Template Reference

#include <itkAdvancedCombinationTransform.h>

Detailed Description

template<typename TScalarType, unsigned int NDimensions = 3>
class itk::AdvancedCombinationTransform< TScalarType, NDimensions >

This class combines two transforms: an 'initial transform' with a 'current transform'.

The CombinationTransform class combines an initial transform $T_0$ with a current transform $T_1$.

Two methods of combining the transforms are supported:

The TransformPoint(), the GetJacobian() and the GetInverse() methods depend on this setting.

If the transform is used in a registration framework, the initial transform is assumed constant, and the current transform is assumed to be the transform that is optimised. So, the transform parameters of the CombinationTransform are the parameters of the CurrentTransform $T_1$.

Note: It is mandatory to set a current transform. An initial transform is not mandatory.

Definition at line 56 of file itkAdvancedCombinationTransform.h.

+ Inheritance diagram for itk::AdvancedCombinationTransform< TScalarType, NDimensions >:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef CurrentTransformType::ConstPointer CurrentTransformConstPointer
 
typedef CurrentTransformType::InverseTransformBasePointer CurrentTransformInverseTransformBasePointer
 
typedef CurrentTransformType::InverseTransformBaseType CurrentTransformInverseTransformBaseType
 
typedef CurrentTransformType::Pointer CurrentTransformPointer
 
typedef Superclass CurrentTransformType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef void(Self::* EvaluateJacobianWithImageGradientProductFunctionPointer) (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer) (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer2) (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer) (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer2) (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSparseJacobianFunctionPointer) (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSpatialHessianFunctionPointer) (const InputPointType &, SpatialHessianType &) const
 
typedef void(Self::* GetSpatialJacobianFunctionPointer) (const InputPointType &, SpatialJacobianType &) const
 
typedef InitialTransformType::ConstPointer InitialTransformConstPointer
 
typedef InitialTransformType::InverseTransformBasePointer InitialTransformInverseTransformBasePointer
 
typedef InitialTransformType::InverseTransformBaseType InitialTransformInverseTransformBaseType
 
typedef InitialTransformType::Pointer InitialTransformPointer
 
typedef Superclass InitialTransformType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
 
typedef Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MovingImageGradientType MovingImageGradientType
 
typedef Superclass::MovingImageGradientValueType MovingImageGradientValueType
 
typedef Superclass::NonZeroJacobianIndicesType 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< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedCombinationTransform Self
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > Superclass
 
typedef Superclass::TransformCategoryEnum TransformCategoryEnum
 
typedef OutputPointType(Self::* TransformPointFunctionPointer) (const InputPointType &) const
 
typedef Superclass::TransformType TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::FixedParametersType FixedParametersType
 
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< SpatialHessianTypeJacobianOfSpatialHessianType
 
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef OutputCovariantVectorType MovingImageGradientType
 
typedef MovingImageGradientType::ValueType MovingImageGradientValueType
 
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< SelfPointer
 
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
 

Public Member Functions

void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
const FixedParametersTypeGetFixedParameters (void) const override
 
bool GetHasNonZeroSpatialHessian (void) const override
 
virtual bool GetInverse (Self *inverse) const
 
void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const TransformTypePointer GetNthTransform (SizeValueType n) const
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const override
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
virtual SizeValueType GetNumberOfTransforms (void) const
 
const ParametersTypeGetParameters (void) const override
 
void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual bool GetUseAddition () const
 
virtual bool GetUseComposition () const
 
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 
bool IsLinear (void) const override
 
 itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
 
 itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCurrentTransform (CurrentTransformType *_arg)
 
void SetFixedParameters (const FixedParametersType &fixedParam) override
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
void SetParameters (const ParametersType &param) override
 
void SetParametersByValue (const ParametersType &param) override
 
virtual void SetUseAddition (bool _arg)
 
virtual void SetUseComposition (bool _arg)
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
- Public Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, 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 &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const=0
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const=0
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 AdvancedCombinationTransform ()
 
void EvaluateJacobianWithImageGradientProductNoCurrentTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductNoInitialTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductUseAddition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductUseComposition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianNoCurrentTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianNoInitialTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianUseAddition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianUseComposition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetSpatialHessianNoCurrentTransform (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseComposition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual void NoCurrentTransformSet (void) const
 
OutputPointType TransformPointNoCurrentTransform (const InputPointType &point) const
 
OutputPointType TransformPointNoInitialTransform (const InputPointType &point) const
 
OutputPointType TransformPointUseAddition (const InputPointType &point) const
 
OutputPointType TransformPointUseComposition (const InputPointType &point) const
 
virtual void UpdateCombinationMethod (void)
 
 ~AdvancedCombinationTransform () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 

Protected Attributes

CurrentTransformPointer m_CurrentTransform
 
InitialTransformPointer m_InitialTransform
 
EvaluateJacobianWithImageGradientProductFunctionPointer m_SelectedEvaluateJacobianWithImageGradientProductFunction
 
GetJacobianOfSpatialHessianFunctionPointer m_SelectedGetJacobianOfSpatialHessianFunction
 
GetJacobianOfSpatialHessianFunctionPointer2 m_SelectedGetJacobianOfSpatialHessianFunction2
 
GetJacobianOfSpatialJacobianFunctionPointer m_SelectedGetJacobianOfSpatialJacobianFunction
 
GetJacobianOfSpatialJacobianFunctionPointer2 m_SelectedGetJacobianOfSpatialJacobianFunction2
 
GetSparseJacobianFunctionPointer m_SelectedGetSparseJacobianFunction
 
GetSpatialHessianFunctionPointer m_SelectedGetSpatialHessianFunction
 
GetSpatialJacobianFunctionPointer m_SelectedGetSpatialJacobianFunction
 
TransformPointFunctionPointer m_SelectedTransformPointFunction
 
bool m_UseAddition
 
bool m_UseComposition
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Private Member Functions

 AdvancedCombinationTransform (const Self &)
 
void operator= (const Self &)
 

Member Typedef Documentation

◆ ConstPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef SmartPointer< const Self > itk::AdvancedCombinationTransform< TScalarType, NDimensions >::ConstPointer

Definition at line 66 of file itkAdvancedCombinationTransform.h.

◆ CurrentTransformConstPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef CurrentTransformType::ConstPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformConstPointer

Definition at line 122 of file itkAdvancedCombinationTransform.h.

◆ CurrentTransformInverseTransformBasePointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef CurrentTransformType::InverseTransformBasePointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformInverseTransformBasePointer

Definition at line 126 of file itkAdvancedCombinationTransform.h.

◆ CurrentTransformInverseTransformBaseType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef CurrentTransformType::InverseTransformBaseType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformInverseTransformBaseType

Definition at line 124 of file itkAdvancedCombinationTransform.h.

◆ CurrentTransformPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef CurrentTransformType::Pointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformPointer

Definition at line 121 of file itkAdvancedCombinationTransform.h.

◆ CurrentTransformType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformType

Typedefs for the CurrentTransform.

Definition at line 120 of file itkAdvancedCombinationTransform.h.

◆ DerivativeType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::DerivativeType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::DerivativeType

Definition at line 83 of file itkAdvancedCombinationTransform.h.

◆ EvaluateJacobianWithImageGradientProductFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductFunctionPointer) (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const

Definition at line 300 of file itkAdvancedCombinationTransform.h.

◆ FixedParametersType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::FixedParametersType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::FixedParametersType

Definition at line 80 of file itkAdvancedCombinationTransform.h.

◆ GetJacobianOfSpatialHessianFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianFunctionPointer) (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const

Definition at line 320 of file itkAdvancedCombinationTransform.h.

◆ GetJacobianOfSpatialHessianFunctionPointer2

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianFunctionPointer2) (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const

Definition at line 324 of file itkAdvancedCombinationTransform.h.

◆ GetJacobianOfSpatialJacobianFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianFunctionPointer) (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const

Definition at line 311 of file itkAdvancedCombinationTransform.h.

◆ GetJacobianOfSpatialJacobianFunctionPointer2

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianFunctionPointer2) (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const

Definition at line 315 of file itkAdvancedCombinationTransform.h.

◆ GetSparseJacobianFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSparseJacobianFunctionPointer) (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const

Definition at line 296 of file itkAdvancedCombinationTransform.h.

◆ GetSpatialHessianFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianFunctionPointer) (const InputPointType &, SpatialHessianType &) const

Definition at line 308 of file itkAdvancedCombinationTransform.h.

◆ GetSpatialJacobianFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef void(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianFunctionPointer) (const InputPointType &, SpatialJacobianType &) const

Definition at line 305 of file itkAdvancedCombinationTransform.h.

◆ InitialTransformConstPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef InitialTransformType::ConstPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformConstPointer

Definition at line 113 of file itkAdvancedCombinationTransform.h.

◆ InitialTransformInverseTransformBasePointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef InitialTransformType::InverseTransformBasePointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformInverseTransformBasePointer

Definition at line 117 of file itkAdvancedCombinationTransform.h.

◆ InitialTransformInverseTransformBaseType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef InitialTransformType::InverseTransformBaseType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformInverseTransformBaseType

Definition at line 115 of file itkAdvancedCombinationTransform.h.

◆ InitialTransformPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef InitialTransformType::Pointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformPointer

Definition at line 112 of file itkAdvancedCombinationTransform.h.

◆ InitialTransformType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformType

Typedefs for the InitialTransform.

Definition at line 111 of file itkAdvancedCombinationTransform.h.

◆ InputCovariantVectorType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InputCovariantVectorType

Definition at line 87 of file itkAdvancedCombinationTransform.h.

◆ InputPointType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InputPointType

Definition at line 91 of file itkAdvancedCombinationTransform.h.

◆ InputVectorType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InputVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InputVectorType

Definition at line 85 of file itkAdvancedCombinationTransform.h.

◆ InputVnlVectorType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InputVnlVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InputVnlVectorType

Definition at line 89 of file itkAdvancedCombinationTransform.h.

◆ InternalMatrixType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InternalMatrixType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InternalMatrixType

Definition at line 98 of file itkAdvancedCombinationTransform.h.

◆ InverseTransformBasePointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InverseTransformBasePointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InverseTransformBasePointer

Definition at line 100 of file itkAdvancedCombinationTransform.h.

◆ InverseTransformBaseType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InverseTransformBaseType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InverseTransformBaseType

Definition at line 99 of file itkAdvancedCombinationTransform.h.

◆ JacobianOfSpatialHessianType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::JacobianOfSpatialHessianType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::JacobianOfSpatialHessianType

Definition at line 97 of file itkAdvancedCombinationTransform.h.

◆ JacobianOfSpatialJacobianType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::JacobianOfSpatialJacobianType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::JacobianOfSpatialJacobianType

Definition at line 95 of file itkAdvancedCombinationTransform.h.

◆ JacobianType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::JacobianType

Definition at line 84 of file itkAdvancedCombinationTransform.h.

◆ MovingImageGradientType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::MovingImageGradientType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::MovingImageGradientType

Definition at line 102 of file itkAdvancedCombinationTransform.h.

◆ MovingImageGradientValueType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::MovingImageGradientValueType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::MovingImageGradientValueType

Definition at line 103 of file itkAdvancedCombinationTransform.h.

◆ NonZeroJacobianIndicesType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::NonZeroJacobianIndicesType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::NonZeroJacobianIndicesType

Definition at line 93 of file itkAdvancedCombinationTransform.h.

◆ NumberOfParametersType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::NumberOfParametersType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::NumberOfParametersType

Definition at line 82 of file itkAdvancedCombinationTransform.h.

◆ OutputCovariantVectorType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::OutputCovariantVectorType

Definition at line 88 of file itkAdvancedCombinationTransform.h.

◆ OutputPointType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::OutputPointType

Definition at line 92 of file itkAdvancedCombinationTransform.h.

◆ OutputVectorType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::OutputVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::OutputVectorType

Definition at line 86 of file itkAdvancedCombinationTransform.h.

◆ OutputVnlVectorType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::OutputVnlVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::OutputVnlVectorType

Definition at line 90 of file itkAdvancedCombinationTransform.h.

◆ ParametersType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::ParametersType

Definition at line 79 of file itkAdvancedCombinationTransform.h.

◆ ParametersValueType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::ParametersValueType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::ParametersValueType

Definition at line 81 of file itkAdvancedCombinationTransform.h.

◆ Pointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef SmartPointer< Self > itk::AdvancedCombinationTransform< TScalarType, NDimensions >::Pointer

Definition at line 65 of file itkAdvancedCombinationTransform.h.

◆ ScalarType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::ScalarType

Typedefs inherited from Superclass.

Definition at line 78 of file itkAdvancedCombinationTransform.h.

◆ Self

template<typename TScalarType , unsigned int NDimensions = 3>
typedef AdvancedCombinationTransform itk::AdvancedCombinationTransform< TScalarType, NDimensions >::Self

Standard itk.

Definition at line 62 of file itkAdvancedCombinationTransform.h.

◆ SpatialHessianType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::SpatialHessianType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SpatialHessianType

Definition at line 96 of file itkAdvancedCombinationTransform.h.

◆ SpatialJacobianType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::SpatialJacobianType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SpatialJacobianType

Definition at line 94 of file itkAdvancedCombinationTransform.h.

◆ Superclass

template<typename TScalarType , unsigned int NDimensions = 3>
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > itk::AdvancedCombinationTransform< TScalarType, NDimensions >::Superclass

Definition at line 64 of file itkAdvancedCombinationTransform.h.

◆ TransformCategoryEnum

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::TransformCategoryEnum itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformCategoryEnum

Definition at line 101 of file itkAdvancedCombinationTransform.h.

◆ TransformPointFunctionPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef OutputPointType(Self::* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointFunctionPointer) (const InputPointType &) const

Typedefs for function pointers.

Definition at line 295 of file itkAdvancedCombinationTransform.h.

◆ TransformType

template<typename TScalarType , unsigned int NDimensions = 3>
typedef Superclass::TransformType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformType

Transform typedefs for the from Superclass.

Definition at line 106 of file itkAdvancedCombinationTransform.h.

◆ TransformTypeConstPointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef TransformType::ConstPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformTypeConstPointer

Definition at line 108 of file itkAdvancedCombinationTransform.h.

◆ TransformTypePointer

template<typename TScalarType , unsigned int NDimensions = 3>
typedef TransformType::Pointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformTypePointer

Definition at line 107 of file itkAdvancedCombinationTransform.h.

Constructor & Destructor Documentation

◆ AdvancedCombinationTransform() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
itk::AdvancedCombinationTransform< TScalarType, NDimensions >::AdvancedCombinationTransform ( )
protected

Constructor.

◆ ~AdvancedCombinationTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
itk::AdvancedCombinationTransform< TScalarType, NDimensions >::~AdvancedCombinationTransform ( )
inlineoverrideprotected

Destructor.

Definition at line 336 of file itkAdvancedCombinationTransform.h.

◆ AdvancedCombinationTransform() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
itk::AdvancedCombinationTransform< TScalarType, NDimensions >::AdvancedCombinationTransform ( const Self )
private

Member Function Documentation

◆ EvaluateJacobianWithImageGradientProduct()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProduct ( const InputPointType ipp,
const MovingImageGradientType movingImageGradient,
DerivativeType imageJacobian,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the inner product of the Jacobian with the moving image gradient.

Reimplemented from itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ EvaluateJacobianWithImageGradientProductNoCurrentTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductNoCurrentTransform ( const InputPointType ,
const MovingImageGradientType ,
DerivativeType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ EvaluateJacobianWithImageGradientProductNoInitialTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductNoInitialTransform ( const InputPointType ,
const MovingImageGradientType ,
DerivativeType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

CURRENT ONLY: $J(x) = J_1(x)$

◆ EvaluateJacobianWithImageGradientProductUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductUseAddition ( const InputPointType ,
const MovingImageGradientType ,
DerivativeType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

Methods to compute the inner product of the Jacobian with the moving image gradient. ADDITION: $J(x) = J_1(x)$

◆ EvaluateJacobianWithImageGradientProductUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductUseComposition ( const InputPointType ,
const MovingImageGradientType ,
DerivativeType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

COMPOSITION: $J(x) = J_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ GetClassName()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual const char * itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetClassName ( ) const
virtual

◆ GetFixedParameters()

template<typename TScalarType , unsigned int NDimensions = 3>
const FixedParametersType & itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetFixedParameters ( void  ) const
override

Get the fixed parameters from the CurrentTransform.

◆ GetHasNonZeroSpatialHessian()

template<typename TScalarType , unsigned int NDimensions = 3>
bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetHasNonZeroSpatialHessian ( void  ) const
overridevirtual

Whether the advanced transform has nonzero matrices.

Reimplemented from itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetInverse()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetInverse ( Self inverse) const
virtual

Return the inverse $T^{-1}$ of the transform. This is only possible when:

  • both the inverses of the initial and the current transform are defined, and Composition is used: $T^{-1}(y) = T_0^{-1} ( T_1^{-1}(y) )$
  • No initial transform is used and the current transform is defined. In all other cases this function returns false and does not provide an inverse transform. An exception is thrown when no CurrentTransform is set.

◆ GetJacobian()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType ipp,
JacobianType j,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the (sparse) Jacobian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetJacobianNoCurrentTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianNoCurrentTransform ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ GetJacobianNoInitialTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianNoInitialTransform ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

CURRENT ONLY: $J(x) = J_1(x)$

◆ GetJacobianOfSpatialHessian() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ipp,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the Jacobian of the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetJacobianOfSpatialHessian() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetJacobianOfSpatialHessianNoCurrentTransform() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoCurrentTransform ( const InputPointType ipp,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ GetJacobianOfSpatialHessianNoCurrentTransform() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoCurrentTransform ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianOfSpatialHessianNoInitialTransform() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoInitialTransform ( const InputPointType ipp,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

CURRENT ONLY: $J(x) = J_1(x)$

◆ GetJacobianOfSpatialHessianNoInitialTransform() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoInitialTransform ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianOfSpatialHessianUseAddition() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseAddition ( const InputPointType ipp,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

Methods to compute the Jacobian of the spatial Hessian. ADDITION: $J(x) = J_1(x)$

◆ GetJacobianOfSpatialHessianUseAddition() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseAddition ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianOfSpatialHessianUseComposition() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseComposition ( const InputPointType ipp,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

COMPOSITION: $J(x) = J_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ GetJacobianOfSpatialHessianUseComposition() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseComposition ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotectedvirtual

◆ GetJacobianOfSpatialJacobian() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ipp,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the Jacobian of the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetJacobianOfSpatialJacobian() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ipp,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute both the spatial Jacobian and the Jacobian of the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetJacobianOfSpatialJacobianNoCurrentTransform() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoCurrentTransform ( const InputPointType ipp,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ GetJacobianOfSpatialJacobianNoCurrentTransform() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoCurrentTransform ( const InputPointType ipp,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianOfSpatialJacobianNoInitialTransform() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoInitialTransform ( const InputPointType ipp,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

CURRENT ONLY: $J(x) = J_1(x)$

◆ GetJacobianOfSpatialJacobianNoInitialTransform() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoInitialTransform ( const InputPointType ipp,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianOfSpatialJacobianUseAddition() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseAddition ( const InputPointType ipp,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

Methods to compute the Jacobian of the spatial Jacobian. ADDITION: $J(x) = J_1(x)$

◆ GetJacobianOfSpatialJacobianUseAddition() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseAddition ( const InputPointType ipp,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianOfSpatialJacobianUseComposition() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseComposition ( const InputPointType ipp,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

COMPOSITION: $J(x) = J_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ GetJacobianOfSpatialJacobianUseComposition() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseComposition ( const InputPointType ipp,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineprotected

◆ GetJacobianUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianUseAddition ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

Methods to compute the sparse Jacobian. ADDITION: $J(x) = J_1(x)$

◆ GetJacobianUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianUseComposition ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const
inlineprotected

COMPOSITION: $J(x) = J_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ GetNthTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual const TransformTypePointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNthTransform ( SizeValueType  n) const
virtual

Get the Nth current transform. Exact interface to the ITK4 MultiTransform::GetNthTransform( SizeValueType n )

Warning
The bounds checking is performed.

Reimplemented in itk::GPUAdvancedCombinationTransform< TScalarType, NDimensions, TParentTransform >.

◆ GetNumberOfNonZeroJacobianIndices()

template<typename TScalarType , unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNumberOfNonZeroJacobianIndices ( void  ) const
overridevirtual

Get the number of nonzero Jacobian indices. By default all.

Reimplemented from itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetNumberOfParameters()

template<typename TScalarType , unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNumberOfParameters ( void  ) const
override

Return the number of parameters that completely define the CurrentTransform.

◆ GetNumberOfTransforms()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual SizeValueType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNumberOfTransforms ( void  ) const
virtual

Return the number of sub-transforms.

Reimplemented in itk::GPUAdvancedCombinationTransform< TScalarType, NDimensions, TParentTransform >.

◆ GetParameters()

template<typename TScalarType , unsigned int NDimensions = 3>
const ParametersType & itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetParameters ( void  ) const
override

Get the transformation parameters from the CurrentTransform.

◆ GetSpatialHessian()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessian ( const InputPointType ipp,
SpatialHessianType sh 
) const
overridevirtual

Compute the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetSpatialHessianNoCurrentTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianNoCurrentTransform ( const InputPointType ipp,
SpatialHessianType sh 
) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ GetSpatialHessianNoInitialTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianNoInitialTransform ( const InputPointType ipp,
SpatialHessianType sh 
) const
inlineprotected

CURRENT ONLY: $J(x) = J_1(x)$

◆ GetSpatialHessianUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianUseAddition ( const InputPointType ipp,
SpatialHessianType sh 
) const
inlineprotected

Methods to compute the spatial Hessian. ADDITION: $J(x) = J_1(x)$

◆ GetSpatialHessianUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianUseComposition ( const InputPointType ipp,
SpatialHessianType sh 
) const
inlineprotected

COMPOSITION: $J(x) = J_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ GetSpatialJacobian()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobian ( const InputPointType ipp,
SpatialJacobianType sj 
) const
overridevirtual

Compute the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< TScalarType, 3, 3 >.

◆ GetSpatialJacobianNoCurrentTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianNoCurrentTransform ( const InputPointType ipp,
SpatialJacobianType sj 
) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ GetSpatialJacobianNoInitialTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianNoInitialTransform ( const InputPointType ipp,
SpatialJacobianType sj 
) const
inlineprotected

CURRENT ONLY: $J(x) = J_1(x)$

◆ GetSpatialJacobianUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianUseAddition ( const InputPointType ipp,
SpatialJacobianType sj 
) const
inlineprotected

Methods to compute the spatial Jacobian. ADDITION: $J(x) = J_1(x)$

◆ GetSpatialJacobianUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianUseComposition ( const InputPointType ipp,
SpatialJacobianType sj 
) const
inlineprotected

COMPOSITION: $J(x) = J_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ GetTransformCategory()

template<typename TScalarType , unsigned int NDimensions = 3>
TransformCategoryEnum itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetTransformCategory ( ) const
override

Special handling for combination transform. If all transforms are linear, then return category Linear. Otherwise if all transforms set to optimize are DisplacementFields, then return DisplacementField category.

◆ GetUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetUseAddition ( ) const
virtual

◆ GetUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetUseComposition ( ) const
virtual

◆ HasNonZeroJacobianOfSpatialHessian()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::HasNonZeroJacobianOfSpatialHessian ( void  ) const
virtual

◆ IsLinear()

template<typename TScalarType , unsigned int NDimensions = 3>
bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::IsLinear ( void  ) const
override

Return whether the transform is linear (or actually: affine) Returns true when both initial and current transform are linear

◆ itkGetModifiableObjectMacro() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
itk::AdvancedCombinationTransform< TScalarType, NDimensions >::itkGetModifiableObjectMacro ( CurrentTransform  ,
CurrentTransformType   
)

◆ itkGetModifiableObjectMacro() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
itk::AdvancedCombinationTransform< TScalarType, NDimensions >::itkGetModifiableObjectMacro ( InitialTransform  ,
InitialTransformType   
)

◆ itkStaticConstMacro()

template<typename TScalarType , unsigned int NDimensions = 3>
itk::AdvancedCombinationTransform< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension  ,
unsigned int  ,
NDimensions   
)

Input and Output space dimension.

◆ New()

template<typename TScalarType , unsigned int NDimensions = 3>
static Pointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::New ( )
static

New method for creating an object using a factory.

◆ NoCurrentTransformSet()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::NoCurrentTransformSet ( void  ) const
protectedvirtual

Throw an exception.

◆ operator=()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::operator= ( const Self )
private

◆ SetCurrentTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetCurrentTransform ( CurrentTransformType _arg)
virtual

Set/Get a pointer to the CurrentTransform. Make sure to set the CurrentTransform before calling functions like TransformPoint(), GetJacobian(), SetParameters() etc.

◆ SetFixedParameters()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetFixedParameters ( const FixedParametersType fixedParam)
override

Set the fixed parameters in the CurrentTransform.

◆ SetInitialTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetInitialTransform ( InitialTransformType _arg)
virtual

Set/Get a pointer to the InitialTransform.

◆ SetParameters()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetParameters ( const ParametersType param)
override

Set the transformation parameters in the CurrentTransform.

◆ SetParametersByValue()

template<typename TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetParametersByValue ( const ParametersType param)
override

Set the transformation parameters in the CurrentTransform. This method forces the transform to copy the parameters.

◆ SetUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetUseAddition ( bool  _arg)
virtual

Control the way transforms are combined.

◆ SetUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetUseComposition ( bool  _arg)
virtual

Control the way transforms are combined.

◆ TransformCovariantVector()

template<typename TScalarType , unsigned int NDimensions = 3>
OutputCovariantVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType ) const
inlineoverride

Definition at line 183 of file itkAdvancedCombinationTransform.h.

◆ TransformPoint()

template<typename TScalarType , unsigned int NDimensions = 3>
OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPoint ( const InputPointType point) const
override

Method to transform a point.

◆ TransformPointNoCurrentTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointNoCurrentTransform ( const InputPointType point) const
inlineprotected

NO CURRENT TRANSFORM SET: throw an exception.

◆ TransformPointNoInitialTransform()

template<typename TScalarType , unsigned int NDimensions = 3>
OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointNoInitialTransform ( const InputPointType point) const
inlineprotected

CURRENT ONLY: $T(x) = T_1(x)$

◆ TransformPointUseAddition()

template<typename TScalarType , unsigned int NDimensions = 3>
OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointUseAddition ( const InputPointType point) const
inlineprotected

Methods to transform a point. ADDITION: $T(x) = T_0(x) + T_1(x) - x$

◆ TransformPointUseComposition()

template<typename TScalarType , unsigned int NDimensions = 3>
OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointUseComposition ( const InputPointType point) const
inlineprotected

COMPOSITION: $T(x) = T_1( T_0(x) )$

Warning
: assumes that input and output point type are the same.

◆ TransformVector() [1/2]

template<typename TScalarType , unsigned int NDimensions = 3>
OutputVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformVector ( const InputVectorType ) const
inlineoverride

ITK4 change: The following pure virtual functions must be overloaded. For now just throw an exception, since these are not used in elastix.

Definition at line 167 of file itkAdvancedCombinationTransform.h.

◆ TransformVector() [2/2]

template<typename TScalarType , unsigned int NDimensions = 3>
OutputVnlVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType ) const
inlineoverride

Definition at line 175 of file itkAdvancedCombinationTransform.h.

◆ UpdateCombinationMethod()

template<typename TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::UpdateCombinationMethod ( void  )
protectedvirtual

Set the SelectedTransformPointFunction and the SelectedGetJacobianFunction.

Field Documentation

◆ m_CurrentTransform

template<typename TScalarType , unsigned int NDimensions = 3>
CurrentTransformPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_CurrentTransform
protected

Definition at line 340 of file itkAdvancedCombinationTransform.h.

◆ m_InitialTransform

template<typename TScalarType , unsigned int NDimensions = 3>
InitialTransformPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_InitialTransform
protected

Declaration of members.

Definition at line 339 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedEvaluateJacobianWithImageGradientProductFunction

template<typename TScalarType , unsigned int NDimensions = 3>
EvaluateJacobianWithImageGradientProductFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedEvaluateJacobianWithImageGradientProductFunction
protected

Definition at line 368 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetJacobianOfSpatialHessianFunction

template<typename TScalarType , unsigned int NDimensions = 3>
GetJacobianOfSpatialHessianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialHessianFunction
protected

Definition at line 373 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetJacobianOfSpatialHessianFunction2

template<typename TScalarType , unsigned int NDimensions = 3>
GetJacobianOfSpatialHessianFunctionPointer2 itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialHessianFunction2
protected

Definition at line 374 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetJacobianOfSpatialJacobianFunction

template<typename TScalarType , unsigned int NDimensions = 3>
GetJacobianOfSpatialJacobianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialJacobianFunction
protected

Definition at line 371 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetJacobianOfSpatialJacobianFunction2

template<typename TScalarType , unsigned int NDimensions = 3>
GetJacobianOfSpatialJacobianFunctionPointer2 itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialJacobianFunction2
protected

Definition at line 372 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetSparseJacobianFunction

template<typename TScalarType , unsigned int NDimensions = 3>
GetSparseJacobianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetSparseJacobianFunction
protected

A pointer to one of the following functions:

  • GetJacobianUseAddition,
  • GetJacobianUseComposition,
  • GetJacobianNoCurrentTransform
  • GetJacobianNoInitialTransform. More of these.

Definition at line 367 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetSpatialHessianFunction

template<typename TScalarType , unsigned int NDimensions = 3>
GetSpatialHessianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetSpatialHessianFunction
protected

Definition at line 370 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedGetSpatialJacobianFunction

template<typename TScalarType , unsigned int NDimensions = 3>
GetSpatialJacobianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetSpatialJacobianFunction
protected

Definition at line 369 of file itkAdvancedCombinationTransform.h.

◆ m_SelectedTransformPointFunction

template<typename TScalarType , unsigned int NDimensions = 3>
TransformPointFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedTransformPointFunction
protected

A pointer to one of the following functions:

  • TransformPointUseAddition,
  • TransformPointUseComposition,
  • TransformPointNoCurrentTransform
  • TransformPointNoInitialTransform.

Definition at line 356 of file itkAdvancedCombinationTransform.h.

◆ m_UseAddition

template<typename TScalarType , unsigned int NDimensions = 3>
bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_UseAddition
protected

How to combine the transformations.

Definition at line 623 of file itkAdvancedCombinationTransform.h.

◆ m_UseComposition

template<typename TScalarType , unsigned int NDimensions = 3>
bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_UseComposition
protected

Definition at line 624 of file itkAdvancedCombinationTransform.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo