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.
|
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 | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = AdvancedCombinationTransform |
|
using | Superclass = AdvancedTransform< TScalarType, NDimensions, NDimensions > |
|
using | TransformType = typename Superclass::TransformType |
|
using | TransformTypeConstPointer = typename TransformType::ConstPointer |
|
using | TransformTypePointer = typename TransformType::Pointer |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InternalMatrixType = typename SpatialJacobianType::InternalMatrixType |
|
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
|
using | JacobianOfSpatialHessianType = std::vector< SpatialHessianType > |
|
using | JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType > |
|
using | MovingImageGradientType = OutputCovariantVectorType |
|
using | MovingImageGradientValueType = typename MovingImageGradientType::ValueType |
|
using | NonZeroJacobianIndicesType = std::vector< unsigned long > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = AdvancedTransform |
|
using | SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > |
|
using | SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > |
|
using | Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
|
using | TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
|
using | TransformTypeConstPointer = typename TransformType::ConstPointer |
|
using | TransformTypePointer = typename TransformType::Pointer |
|
|
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 ¶m) override |
|
void | SetParametersByValue (const ParametersType ¶m) 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 |
|
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
|
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
|
virtual const char * | GetClassName () const |
|
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
|
virtual bool | GetHasNonZeroSpatialHessian () const |
|
virtual void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
|
virtual void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const=0 |
|
virtual void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const=0 |
|
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) |
|
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) |
|
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) |
|
|
| 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 |
|
| AdvancedTransform ()=default |
|
| ~AdvancedTransform () override=default |
|