18 #ifndef itkScalableAffineTransform_h
19 #define itkScalableAffineTransform_h
33 template <
typename TParametersValueType =
double,
unsigned int VDimension = 3>
52 static constexpr
unsigned int InputSpaceDimension = VDimension;
53 static constexpr
unsigned int OutputSpaceDimension = VDimension;
54 static constexpr
unsigned int SpaceDimension = VDimension;
55 static constexpr
unsigned int ParametersDimension = VDimension * (VDimension + 1);
58 using typename Superclass::ParametersType;
59 using typename Superclass::ParametersValueType;
60 using typename Superclass::FixedParametersType;
61 using typename Superclass::FixedParametersValueType;
62 using typename Superclass::JacobianType;
63 using typename Superclass::JacobianPositionType;
64 using typename Superclass::InverseJacobianPositionType;
65 using typename Superclass::ScalarType;
66 using typename Superclass::InputVectorType;
67 using typename Superclass::OutputVectorType;
68 using typename Superclass::InputCovariantVectorType;
69 using typename Superclass::OutputCovariantVectorType;
70 using typename Superclass::InputVnlVectorType;
71 using typename Superclass::OutputVnlVectorType;
72 using typename Superclass::InputPointType;
73 using typename Superclass::OutputPointType;
74 using typename Superclass::MatrixType;
75 using typename Superclass::MatrixValueType;
76 using typename Superclass::InverseMatrixType;
77 using typename Superclass::CenterType;
78 using typename Superclass::OffsetType;
79 using typename Superclass::TranslationType;
89 SetIdentity()
override;
98 this->SetScale(scale);
103 SetScale(
const double scale[VDimension]);
108 this->SetScale(scale);
112 virtual const double *
117 virtual const double *
126 GetInverse(
Self * inverse)
const;
129 InverseTransformBasePointer
130 GetInverseTransform()
const override;
148 ComputeMatrix()
override;
153 PrintSelf(std::ostream & os,
Indent indent)
const override;
158 for (
int i = 0; i < InputSpaceDimension; ++i)
160 m_Scale[i] = scale[i];
165 double m_Scale[VDimension];
170 #ifndef ITK_MANUAL_INSTANTIATION
171 # include "itkScalableAffineTransform.hxx"