Loading...
Searching...
No Matches
itk::AdvancedCombinationTransform< TScalarType, NDimensions > Class Template Reference
Components » Transforms

`#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 with a current transform .

Two methods of combining the transforms are supported:

- Addition:
- Composition:

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 .

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 >:
[legend]

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | CurrentTransformConstPointer = typename CurrentTransformType::ConstPointer
using | CurrentTransformInverseTransformBasePointer = typename CurrentTransformType::InverseTransformBasePointer
using | CurrentTransformInverseTransformBaseType = typename CurrentTransformType::InverseTransformBaseType
using | CurrentTransformPointer = typename CurrentTransformType::Pointer
using | CurrentTransformType = Superclass
using | InitialTransformConstPointer = typename InitialTransformType::ConstPointer
using | InitialTransformInverseTransformBasePointer = typename InitialTransformType::InverseTransformBasePointer
using | InitialTransformInverseTransformBaseType = typename InitialTransformType::InverseTransformBaseType
using | InitialTransformPointer = typename InitialTransformType::Pointer
using | InitialTransformType = Superclass
using | InternalMatrixType
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
using | Pointer = SmartPointer<Self>
using | Self = AdvancedCombinationTransform
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
using | TransformType = typename Superclass::TransformType
using | TransformTypeConstPointer = typename TransformType::ConstPointer
using | TransformTypePointer = typename TransformType::Pointer
Public Types inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
using | ConstPointer
using | InternalMatrixType
using | InverseTransformBaseType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
using | Pointer
using | Self
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass
using | TransformType
using | TransformTypeConstPointer
using | TransformTypePointer

## Public Member Functions

void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
virtual const char * | GetClassName () const
const FixedParametersType & | GetFixedParameters () const override
bool | GetHasNonZeroSpatialHessian () const override
bool | GetInverse (Self *inverse) const
void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
const TransformTypePointer | GetNthTransform (SizeValueType n) const
NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const override
NumberOfParametersType | GetNumberOfParameters () const override
SizeValueType | GetNumberOfTransforms () const
const ParametersType & | GetParameters () const override
void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
TransformCategoryEnum | GetTransformCategory () const override
virtual bool | GetUseAddition () const
virtual bool | GetUseComposition () const
bool | HasNonZeroJacobianOfSpatialHessian () const
bool | IsLinear () const override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedCombinationTransform)
| itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
| itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
void | SetCurrentTransform (CurrentTransformType *_arg)
void | SetFixedParameters (const FixedParametersType &fixedParam) override
void | SetInitialTransform (InitialTransformType *_arg)
void | SetParameters (const ParametersType &param) override
void | SetParametersByValue (const ParametersType &param) override
void | SetUseAddition (bool _arg)
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 bool | GetHasNonZeroJacobianOfSpatialHessian () const
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)

## 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 &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, 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 &inputPoint, SpatialHessianType &sh) const
void | GetSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh) const
void | GetSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh) const
void | GetSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh) const
void | GetSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void | GetSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void | GetSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void | GetSpatialJacobianUseComposition (const InputPointType &inputPoint, SpatialJacobianType &sj) 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
void | UpdateCombinationMethod ()
| ~AdvancedCombinationTransform () override=default
Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
| AdvancedTransform ()=default
| ~AdvancedTransform () override=default

## Private Types

using | EvaluateJacobianWithImageGradientProductFunctionPointer
using | GetJacobianOfSpatialHessianFunctionPointer
using | GetJacobianOfSpatialHessianFunctionPointer2
using | GetJacobianOfSpatialJacobianFunctionPointer
using | GetJacobianOfSpatialJacobianFunctionPointer2
using | GetSparseJacobianFunctionPointer
using | GetSpatialHessianFunctionPointer = void (Self::*)(const InputPointType &, SpatialHessianType &) const
using | GetSpatialJacobianFunctionPointer = void (Self::*)(const InputPointType &, SpatialJacobianType &) const
using | TransformPointFunctionPointer = OutputPointType (Self::*)(const InputPointType &) const

## Private Attributes

CurrentTransformPointer | m_CurrentTransform { nullptr }
InitialTransformPointer | m_InitialTransform { nullptr }
EvaluateJacobianWithImageGradientProductFunctionPointer | m_SelectedEvaluateJacobianWithImageGradientProductFunction
GetJacobianOfSpatialHessianFunctionPointer | m_SelectedGetJacobianOfSpatialHessianFunction
GetJacobianOfSpatialHessianFunctionPointer2 | m_SelectedGetJacobianOfSpatialHessianFunction2
GetJacobianOfSpatialJacobianFunctionPointer | m_SelectedGetJacobianOfSpatialJacobianFunction
GetJacobianOfSpatialJacobianFunctionPointer2 | m_SelectedGetJacobianOfSpatialJacobianFunction2
GetSparseJacobianFunctionPointer | m_SelectedGetSparseJacobianFunction { &Self::GetJacobianNoCurrentTransform }
GetSpatialHessianFunctionPointer | m_SelectedGetSpatialHessianFunction { &Self::GetSpatialHessianNoCurrentTransform }
GetSpatialJacobianFunctionPointer | m_SelectedGetSpatialJacobianFunction { &Self::GetSpatialJacobianNoCurrentTransform }
TransformPointFunctionPointer | m_SelectedTransformPointFunction { &Self::TransformPointNoCurrentTransform }
bool | m_UseAddition { false }
bool | m_UseComposition { true }

## Static Private Attributes

static constexpr const char * | NoCurrentTransformSet = "No current transform set in the AdvancedCombinationTransform"

## Additional Inherited Members

Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
bool | m_HasNonZeroJacobianOfSpatialHessian
bool | m_HasNonZeroSpatialHessian

## Member Typedef Documentation

## ConstPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self>

Definition at line 65 of file itkAdvancedCombinationTransform.h.

## CurrentTransformConstPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformConstPointer = typename CurrentTransformType::ConstPointer

Definition at line 119 of file itkAdvancedCombinationTransform.h.

## CurrentTransformInverseTransformBasePointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformInverseTransformBasePointer = typename CurrentTransformType::InverseTransformBasePointer

Definition at line 121 of file itkAdvancedCombinationTransform.h.

## CurrentTransformInverseTransformBaseType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformInverseTransformBaseType = typename CurrentTransformType::InverseTransformBaseType

Definition at line 120 of file itkAdvancedCombinationTransform.h.

## CurrentTransformPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformPointer = typename CurrentTransformType::Pointer

Definition at line 118 of file itkAdvancedCombinationTransform.h.

## CurrentTransformType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::CurrentTransformType = Superclass

Typedefs for the CurrentTransform.

Definition at line 117 of file itkAdvancedCombinationTransform.h.

## EvaluateJacobianWithImageGradientProductFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductFunctionPointer

private

Initial value:
void (Self::*)(const InputPointType &,
const MovingImageGradientType &,
DerivativeType &,
NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::Self
AdvancedCombinationTransform Self
Definition itkAdvancedCombinationTransform.h:62
itk::AdvancedCombinationTransform::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
Definition itkAdvancedTransform.h:133
itk::AdvancedCombinationTransform::MovingImageGradientType
OutputCovariantVectorType MovingImageGradientType
Definition itkAdvancedTransform.h:147

Definition at line 565 of file itkAdvancedCombinationTransform.h.

## GetJacobianOfSpatialHessianFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianFunctionPointer

private

Initial value:
void (Self::*)(const InputPointType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::JacobianOfSpatialHessianType
std::vector< SpatialHessianType > JacobianOfSpatialHessianType
Definition itkAdvancedTransform.h:139

Definition at line 578 of file itkAdvancedCombinationTransform.h.

## GetJacobianOfSpatialHessianFunctionPointer2

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianFunctionPointer2

private

Initial value:
void (Self::*)(const InputPointType &,
SpatialHessianType &,
JacobianOfSpatialHessianType &,
NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
Definition itkAdvancedTransform.h:137

Definition at line 581 of file itkAdvancedCombinationTransform.h.

## GetJacobianOfSpatialJacobianFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianFunctionPointer

private

Initial value:
void (Self::*)(const InputPointType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::JacobianOfSpatialJacobianType
std::vector< SpatialJacobianType > JacobianOfSpatialJacobianType
Definition itkAdvancedTransform.h:135

Definition at line 571 of file itkAdvancedCombinationTransform.h.

## GetJacobianOfSpatialJacobianFunctionPointer2

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianFunctionPointer2

private

Initial value:
void (Self::*)(const InputPointType &,
SpatialJacobianType &,
JacobianOfSpatialJacobianType &,
NonZeroJacobianIndicesType &) const
itk::AdvancedCombinationTransform::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
Definition itkAdvancedTransform.h:134

Definition at line 574 of file itkAdvancedCombinationTransform.h.

## GetSparseJacobianFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSparseJacobianFunctionPointer

private

Initial value:
void (Self::*)(const InputPointType &,
JacobianType &,
NonZeroJacobianIndicesType &) const

Definition at line 562 of file itkAdvancedCombinationTransform.h.

## GetSpatialHessianFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianFunctionPointer = void (Self::*)(const InputPointType &, SpatialHessianType &) const

private

Definition at line 570 of file itkAdvancedCombinationTransform.h.

## GetSpatialJacobianFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianFunctionPointer = void (Self::*)(const InputPointType &, SpatialJacobianType &) const

private

Definition at line 569 of file itkAdvancedCombinationTransform.h.

## InitialTransformConstPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformConstPointer = typename InitialTransformType::ConstPointer

Definition at line 112 of file itkAdvancedCombinationTransform.h.

## InitialTransformInverseTransformBasePointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformInverseTransformBasePointer = typename InitialTransformType::InverseTransformBasePointer

Definition at line 114 of file itkAdvancedCombinationTransform.h.

## InitialTransformInverseTransformBaseType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformInverseTransformBaseType = typename InitialTransformType::InverseTransformBaseType

Definition at line 113 of file itkAdvancedCombinationTransform.h.

## InitialTransformPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformPointer = typename InitialTransformType::Pointer

Definition at line 111 of file itkAdvancedCombinationTransform.h.

## InitialTransformType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InitialTransformType = Superclass

Typedefs for the InitialTransform.

Definition at line 110 of file itkAdvancedCombinationTransform.h.

## InternalMatrixType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InternalMatrixType

Definition at line 140 of file itkAdvancedTransform.h.

## InverseTransformBaseType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::InverseTransformBaseType = typename Superclass::InverseTransformBaseType

Definition at line 98 of file itkAdvancedCombinationTransform.h.

## JacobianOfSpatialHessianType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialHessianType

Definition at line 139 of file itkAdvancedTransform.h.

## JacobianOfSpatialJacobianType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialJacobianType

Definition at line 135 of file itkAdvancedTransform.h.

## MovingImageGradientType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientType

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.

## MovingImageGradientValueType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientValueType

Definition at line 148 of file itkAdvancedTransform.h.

## NonZeroJacobianIndicesType

template<typename TScalarType, unsigned int NDimensions = 3>

using 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 133 of file itkAdvancedTransform.h.

## Pointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 64 of file itkAdvancedCombinationTransform.h.

## Self

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::Self = AdvancedCombinationTransform

Standard itk.

Definition at line 62 of file itkAdvancedCombinationTransform.h.

## SpatialHessianType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialHessianType

Definition at line 137 of file itkAdvancedTransform.h.

## SpatialJacobianType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialJacobianType

Definition at line 134 of file itkAdvancedTransform.h.

## Superclass

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>

Definition at line 63 of file itkAdvancedCombinationTransform.h.

## TransformPointFunctionPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointFunctionPointer = OutputPointType (Self::*)(const InputPointType &) const

private

Typedefs for function pointers.

Definition at line 561 of file itkAdvancedCombinationTransform.h.

## TransformType

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformType = typename Superclass::TransformType

Transform typedefs for the from Superclass.

Definition at line 105 of file itkAdvancedCombinationTransform.h.

## TransformTypeConstPointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformTypeConstPointer = typename TransformType::ConstPointer

Definition at line 107 of file itkAdvancedCombinationTransform.h.

## TransformTypePointer

template<typename TScalarType, unsigned int NDimensions = 3>

using itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformTypePointer = typename TransformType::Pointer

Definition at line 106 of file itkAdvancedCombinationTransform.h.

## Constructor & Destructor Documentation

## AdvancedCombinationTransform()

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 | ( |  | ) |

override protected default

Destructor.

## Member Function Documentation

## EvaluateJacobianWithImageGradientProduct()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProduct | ( | const InputPointType & | inputPoint,
|  | const MovingImageGradientType & | movingImageGradient,
|  | DerivativeType & | imageJacobian,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

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

protected

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

protected

CURRENT ONLY:

## EvaluateJacobianWithImageGradientProductUseAddition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductUseAddition | ( | const InputPointType & | ,
|  | const MovingImageGradientType & | ,
|  | DerivativeType & | ,
|  | NonZeroJacobianIndicesType & | ) const

protected

Methods to compute the inner product of the Jacobian with the moving image gradient. ADDITION:

## EvaluateJacobianWithImageGradientProductUseComposition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::EvaluateJacobianWithImageGradientProductUseComposition | ( | const InputPointType & | ,
|  | const MovingImageGradientType & | ,
|  | DerivativeType & | ,
|  | NonZeroJacobianIndicesType & | ) const

protected

COMPOSITION:

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

ITK Type info.

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

Reimplemented in elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::BSplineTransformWithDiffusion< 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::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >, itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >, itk::GPUAdvancedCombinationTransform< TScalarType, NDimensions, TParentTransform >, and itk::GPUAdvancedCombinationTransform< GPUScalarType, SpaceDimension >.

## GetFixedParameters()

template<typename TScalarType, unsigned int NDimensions = 3>

const FixedParametersType & itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetFixedParameters | ( |  | ) | const

override

Get the fixed parameters from the CurrentTransform.

## GetHasNonZeroSpatialHessian()

template<typename TScalarType, unsigned int NDimensions = 3>

bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetHasNonZeroSpatialHessian | ( |  | ) | const

override virtual

Whether the advanced transform has nonzero matrices.

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

## GetInverse()

template<typename TScalarType, unsigned int NDimensions = 3>

bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetInverse | ( | Self * | inverse | ) | const

Return the inverse of the transform. This is only possible when:

- both the inverses of the initial and the current transform are defined, and Composition is used:
- 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 & | inputPoint,
|  | JacobianType & | j,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

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

protected

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

protected

CURRENT ONLY:

## GetJacobianOfSpatialHessian() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

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 & | inputPoint,
|  | SpatialHessianType & | sh,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override

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

## GetJacobianOfSpatialHessianNoCurrentTransform() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoCurrentTransform | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

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 & | inputPoint,
|  | SpatialHessianType & | sh,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialHessianNoInitialTransform() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoInitialTransform | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

CURRENT ONLY:

## GetJacobianOfSpatialHessianNoInitialTransform() [2/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianNoInitialTransform | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialHessianUseAddition() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseAddition | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

Methods to compute the Jacobian of the spatial Hessian. ADDITION:

## GetJacobianOfSpatialHessianUseAddition() [2/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseAddition | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialHessianUseComposition() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseComposition | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

COMPOSITION:

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

## GetJacobianOfSpatialHessianUseComposition() [2/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessianUseComposition | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialJacobian() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

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 & | inputPoint,
|  | SpatialJacobianType & | sj,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override

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

## GetJacobianOfSpatialJacobianNoCurrentTransform() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoCurrentTransform | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

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 & | inputPoint,
|  | SpatialJacobianType & | sj,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialJacobianNoInitialTransform() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoInitialTransform | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

CURRENT ONLY:

## GetJacobianOfSpatialJacobianNoInitialTransform() [2/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianNoInitialTransform | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialJacobianUseAddition() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseAddition | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

Methods to compute the Jacobian of the spatial Jacobian. ADDITION:

## GetJacobianOfSpatialJacobianUseAddition() [2/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseAddition | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianOfSpatialJacobianUseComposition() [1/2]

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobianUseComposition | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

COMPOSITION:

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 & | inputPoint,
|  | SpatialJacobianType & | sj,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

protected

## GetJacobianUseAddition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianUseAddition | ( | const InputPointType & | ,
|  | JacobianType & | ,
|  | NonZeroJacobianIndicesType & | ) const

protected

Methods to compute the sparse Jacobian. ADDITION:

## GetJacobianUseComposition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetJacobianUseComposition | ( | const InputPointType & | ,
|  | JacobianType & | ,
|  | NonZeroJacobianIndicesType & | ) const

protected

COMPOSITION:

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

## GetNthTransform()

template<typename TScalarType, unsigned int NDimensions = 3>

const TransformTypePointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNthTransform | ( | SizeValueType | n | ) | const

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

Warning
  The bounds checking is performed.

## GetNumberOfNonZeroJacobianIndices()

template<typename TScalarType, unsigned int NDimensions = 3>

NumberOfParametersType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNumberOfNonZeroJacobianIndices | ( |  | ) | const

override virtual

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 | ( |  | ) | const

override

Return the number of parameters that completely define the CurrentTransform.

## GetNumberOfTransforms()

template<typename TScalarType, unsigned int NDimensions = 3>

SizeValueType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetNumberOfTransforms | ( |  | ) | const

Return the number of sub-transforms.

## GetParameters()

template<typename TScalarType, unsigned int NDimensions = 3>

const ParametersType & itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetParameters | ( |  | ) | 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 & | inputPoint,
|  | SpatialHessianType & | sh ) const

override virtual

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 & | inputPoint,
|  | SpatialHessianType & | sh ) const

protected

NO CURRENT TRANSFORM SET: throw an exception.

## GetSpatialHessianNoInitialTransform()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianNoInitialTransform | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh ) const

protected

CURRENT ONLY:

## GetSpatialHessianUseAddition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianUseAddition | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh ) const

protected

Methods to compute the spatial Hessian. ADDITION:

## GetSpatialHessianUseComposition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialHessianUseComposition | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh ) const

protected

COMPOSITION:

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 & | inputPoint,
|  | SpatialJacobianType & | sj ) const

override virtual

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 & | inputPoint,
|  | SpatialJacobianType & | sj ) const

protected

NO CURRENT TRANSFORM SET: throw an exception.

## GetSpatialJacobianNoInitialTransform()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianNoInitialTransform | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj ) const

protected

CURRENT ONLY:

## GetSpatialJacobianUseAddition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianUseAddition | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj ) const

protected

Methods to compute the spatial Jacobian. ADDITION:

## GetSpatialJacobianUseComposition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::GetSpatialJacobianUseComposition | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj ) const

protected

COMPOSITION:

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>

bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::HasNonZeroJacobianOfSpatialHessian | ( |  | ) | const

## IsLinear()

template<typename TScalarType, unsigned int NDimensions = 3>

bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::IsLinear | ( |  | ) | const

override

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

## ITK_DISALLOW_COPY_AND_MOVE()

template<typename TScalarType, unsigned int NDimensions = 3>

itk::AdvancedCombinationTransform< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedCombinationTransform< TScalarType, NDimensions > |  | ) |

## 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>

Pointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::New | ( |  | ) |

static

New method for creating an object using a factory.

## SetCurrentTransform()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetCurrentTransform | ( | CurrentTransformType * | _arg | ) |

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>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetInitialTransform | ( | InitialTransformType * | _arg | ) |

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>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetUseAddition | ( | bool | _arg | ) |

Control the way transforms are combined.

## SetUseComposition()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::SetUseComposition | ( | bool | _arg | ) |

Control the way transforms are combined.

## TransformCovariantVector()

template<typename TScalarType, unsigned int NDimensions = 3>

OutputCovariantVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformCovariantVector | ( | const InputCovariantVectorType & |  | ) | const

inline override

Definition at line 185 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

protected

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

protected

CURRENT ONLY:

## TransformPointUseAddition()

template<typename TScalarType, unsigned int NDimensions = 3>

OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointUseAddition | ( | const InputPointType & | point | ) | const

protected

Methods to transform a point. ADDITION:

## TransformPointUseComposition()

template<typename TScalarType, unsigned int NDimensions = 3>

OutputPointType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformPointUseComposition | ( | const InputPointType & | point | ) | const

protected

COMPOSITION:

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

inline override

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 170 of file itkAdvancedCombinationTransform.h.

## TransformVector() [2/2]

template<typename TScalarType, unsigned int NDimensions = 3>

OutputVnlVectorType itk::AdvancedCombinationTransform< TScalarType, NDimensions >::TransformVector | ( | const InputVnlVectorType & |  | ) | const

inline override

Definition at line 177 of file itkAdvancedCombinationTransform.h.

## UpdateCombinationMethod()

template<typename TScalarType, unsigned int NDimensions = 3>

void itk::AdvancedCombinationTransform< TScalarType, NDimensions >::UpdateCombinationMethod | ( |  | ) |

protected

Set the SelectedTransformPointFunction and the SelectedGetJacobianFunction.

## Field Documentation

## m_CurrentTransform

template<typename TScalarType, unsigned int NDimensions = 3>

CurrentTransformPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_CurrentTransform { nullptr }

private

Definition at line 558 of file itkAdvancedCombinationTransform.h.

## m_InitialTransform

template<typename TScalarType, unsigned int NDimensions = 3>

InitialTransformPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_InitialTransform { nullptr }

private

Declaration of members.

Definition at line 557 of file itkAdvancedCombinationTransform.h.

## m_SelectedEvaluateJacobianWithImageGradientProductFunction

template<typename TScalarType, unsigned int NDimensions = 3>

EvaluateJacobianWithImageGradientProductFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedEvaluateJacobianWithImageGradientProductFunction

private

Initial value:
{
&Self::EvaluateJacobianWithImageGradientProductNoInitialTransform
}
itk::AdvancedCombinationTransform::EvaluateJacobianWithImageGradientProductNoInitialTransform
void EvaluateJacobianWithImageGradientProductNoInitialTransform(const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const

Definition at line 604 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetJacobianOfSpatialHessianFunction

template<typename TScalarType, unsigned int NDimensions = 3>

GetJacobianOfSpatialHessianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialHessianFunction

private

Initial value:
{
&Self::GetJacobianOfSpatialHessianNoCurrentTransform
}
itk::AdvancedCombinationTransform::GetJacobianOfSpatialHessianNoCurrentTransform
void GetJacobianOfSpatialHessianNoCurrentTransform(const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const

Definition at line 615 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetJacobianOfSpatialHessianFunction2

template<typename TScalarType, unsigned int NDimensions = 3>

GetJacobianOfSpatialHessianFunctionPointer2 itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialHessianFunction2

private

Initial value:
{
&Self::GetJacobianOfSpatialHessianNoCurrentTransform
}

Definition at line 618 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetJacobianOfSpatialJacobianFunction

template<typename TScalarType, unsigned int NDimensions = 3>

GetJacobianOfSpatialJacobianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialJacobianFunction

private

Initial value:
{
&Self::GetJacobianOfSpatialJacobianNoCurrentTransform
}
itk::AdvancedCombinationTransform::GetJacobianOfSpatialJacobianNoCurrentTransform
void GetJacobianOfSpatialJacobianNoCurrentTransform(const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const

Definition at line 609 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetJacobianOfSpatialJacobianFunction2

template<typename TScalarType, unsigned int NDimensions = 3>

GetJacobianOfSpatialJacobianFunctionPointer2 itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetJacobianOfSpatialJacobianFunction2

private

Initial value:
{
&Self::GetJacobianOfSpatialJacobianNoCurrentTransform
}

Definition at line 612 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetSparseJacobianFunction

template<typename TScalarType, unsigned int NDimensions = 3>

GetSparseJacobianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetSparseJacobianFunction { &Self::GetJacobianNoCurrentTransform }

private

A pointer to one of the following functions:

- GetJacobianUseAddition,
- GetJacobianUseComposition,
- GetJacobianNoCurrentTransform
- GetJacobianNoInitialTransform. More of these. Set everything to have no current transform.

Definition at line 603 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetSpatialHessianFunction

template<typename TScalarType, unsigned int NDimensions = 3>

GetSpatialHessianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetSpatialHessianFunction { &Self::GetSpatialHessianNoCurrentTransform }

private

Definition at line 608 of file itkAdvancedCombinationTransform.h.

## m_SelectedGetSpatialJacobianFunction

template<typename TScalarType, unsigned int NDimensions = 3>

GetSpatialJacobianFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedGetSpatialJacobianFunction { &Self::GetSpatialJacobianNoCurrentTransform }

private

Definition at line 607 of file itkAdvancedCombinationTransform.h.

## m_SelectedTransformPointFunction

template<typename TScalarType, unsigned int NDimensions = 3>

TransformPointFunctionPointer itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_SelectedTransformPointFunction { &Self::TransformPointNoCurrentTransform }

private

A pointer to one of the following functions:

- TransformPointUseAddition,
- TransformPointUseComposition,
- TransformPointNoCurrentTransform
- TransformPointNoInitialTransform.

Definition at line 592 of file itkAdvancedCombinationTransform.h.

## m_UseAddition

template<typename TScalarType, unsigned int NDimensions = 3>

bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_UseAddition { false }

private

How to combine the transformations. Composition by default.

Definition at line 623 of file itkAdvancedCombinationTransform.h.

## m_UseComposition

template<typename TScalarType, unsigned int NDimensions = 3>

bool itk::AdvancedCombinationTransform< TScalarType, NDimensions >::m_UseComposition { true }

private

Definition at line 624 of file itkAdvancedCombinationTransform.h.

## NoCurrentTransformSet

template<typename TScalarType, unsigned int NDimensions = 3>

const char* itk::AdvancedCombinationTransform< TScalarType, NDimensions >::NoCurrentTransformSet = "No current transform set in the AdvancedCombinationTransform"

static constexpr private

Exception text.

Definition at line 554 of file itkAdvancedCombinationTransform.h.

Generated on 1768596610 for elastix by 1.15.0 |