18 #ifndef itkScalableAffineTransform_h
19 #define itkScalableAffineTransform_h
34 typename TParametersValueType=double,
35 unsigned int NDimensions = 3>
53 static constexpr
unsigned int InputSpaceDimension = NDimensions;
54 static constexpr
unsigned int OutputSpaceDimension = NDimensions;
55 static constexpr
unsigned int SpaceDimension = NDimensions;
56 static constexpr
unsigned int ParametersDimension = NDimensions * ( NDimensions + 1 );
90 void SetIdentity()
override;
96 { this->SetScale(scale); }
99 virtual void SetScale(
const double scale[NDimensions]);
102 { this->SetScale(scale); }
112 bool GetInverse(Self *inverse)
const;
115 InverseTransformBasePointer GetInverseTransform()
const override;
126 const OutputVectorType & offset);
128 unsigned int parametersDimension);
133 void ComputeMatrix()
override;
139 void PrintSelf(std::ostream & s,
Indent indent)
const override;
142 {
for (
int i = 0; i < InputSpaceDimension; i++ ) { m_Scale[i] = scale[i]; } }
147 const Self & operator=(
const Self &) =
delete;
149 double m_Scale[NDimensions];
154 #ifndef ITK_MANUAL_INSTANTIATION
155 #include "itkScalableAffineTransform.hxx"
Light weight base class for most itk classes.
Control indentation during Print() invocation.