18#ifndef itkAdvancedCombinationTransform_h
19#define itkAdvancedCombinationTransform_h
55template <
typename TScalarType,
unsigned int NDimensions = 3>
77 using typename Superclass::ScalarType;
78 using typename Superclass::ParametersType;
79 using typename Superclass::FixedParametersType;
80 using typename Superclass::ParametersValueType;
81 using typename Superclass::NumberOfParametersType;
82 using typename Superclass::DerivativeType;
83 using typename Superclass::JacobianType;
84 using typename Superclass::InputVectorType;
85 using typename Superclass::OutputVectorType;
86 using typename Superclass::InputCovariantVectorType;
87 using typename Superclass::OutputCovariantVectorType;
88 using typename Superclass::InputVnlVectorType;
89 using typename Superclass::OutputVnlVectorType;
90 using typename Superclass::InputPointType;
91 using typename Superclass::OutputPointType;
99 using typename Superclass::InverseTransformBasePointer;
100 using typename Superclass::TransformCategoryEnum;
153 itkGetConstMacro(UseComposition,
bool);
159 itkGetConstMacro(UseAddition,
bool);
172 itkExceptionMacro(
"TransformVector(const InputVectorType &) is not implemented for AdvancedCombinationTransform");
180 "TransformVector(const InputVnlVectorType &) is not implemented for AdvancedCombinationTransform");
184 OutputCovariantVectorType
187 itkExceptionMacro(
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for "
188 "AdvancedCombinationTransform");
193 NumberOfParametersType
197 NumberOfParametersType
201 const ParametersType &
205 const FixedParametersType &
244 TransformCategoryEnum
264 DerivativeType & imageJacobian,
550 using Superclass::TransformCovariantVector;
551 using Superclass::TransformVector;
554 static constexpr const char * NoCurrentTransformSet =
"No current transform set in the AdvancedCombinationTransform";
605 &Self::EvaluateJacobianWithImageGradientProductNoInitialTransform
610 &Self::GetJacobianOfSpatialJacobianNoCurrentTransform
613 &Self::GetJacobianOfSpatialJacobianNoCurrentTransform
616 &Self::GetJacobianOfSpatialHessianNoCurrentTransform
619 &Self::GetJacobianOfSpatialHessianNoCurrentTransform
623 bool m_UseAddition{
false };
624 bool m_UseComposition{
true };
629#ifndef ITK_MANUAL_INSTANTIATION
630# include "itkAdvancedCombinationTransform.hxx"