33#ifndef itkAdvancedTransform_h
34#define itkAdvancedTransform_h
36#include "itkTransform.h"
38#include "itkFixedArray.h"
81template <
class TScalarType,
unsigned int NInputDimensions = 3,
unsigned int NOutputDimensions = 3>
82class ITK_TEMPLATE_EXPORT
AdvancedTransform :
public Transform<TScalarType, NInputDimensions, NOutputDimensions>
89 using Superclass = Transform<TScalarType, NInputDimensions, NOutputDimensions>;
104 using typename Superclass::ScalarType;
105 using typename Superclass::ParametersType;
106 using typename Superclass::FixedParametersType;
107 using typename Superclass::ParametersValueType;
108 using typename Superclass::NumberOfParametersType;
109 using typename Superclass::DerivativeType;
110 using typename Superclass::JacobianType;
111 using typename Superclass::InputVectorType;
112 using typename Superclass::OutputVectorType;
113 using typename Superclass::InputCovariantVectorType;
114 using typename Superclass::OutputCovariantVectorType;
115 using typename Superclass::InputVnlVectorType;
116 using typename Superclass::OutputVnlVectorType;
117 using typename Superclass::InputPointType;
118 using typename Superclass::OutputPointType;
121 using typename Superclass::InverseTransformBasePointer;
124 using TransformType = Transform<TScalarType, NInputDimensions, NOutputDimensions>;
137 FixedArray<Matrix<ScalarType, InputSpaceDimension, InputSpaceDimension>, OutputSpaceDimension>;
150 virtual NumberOfParametersType
154 itkGetConstMacro(HasNonZeroSpatialHessian,
bool);
155 itkGetConstMacro(HasNonZeroJacobianOfSpatialHessian,
bool);
194 DerivativeType & imageJacobian,
229 JacobianType & itkNotUsed(j))
const override
231 itkExceptionMacro(<<
"This ITK4 function is currently not used in elastix.");
298 using Superclass::Superclass;
302 bool m_HasNonZeroSpatialHessian{
true };
303 bool m_HasNonZeroJacobianOfSpatialHessian{
true };
308#ifndef ITK_MANUAL_INSTANTIATION
309# include "itkAdvancedTransform.hxx"