18 #ifndef itkScalableAffineTransform_h
19 #define itkScalableAffineTransform_h
34 typename TParametersValueType=double,
35 unsigned int NDimensions = 3>
53 itkStaticConstMacro(InputSpaceDimension,
unsigned int, NDimensions);
54 itkStaticConstMacro(OutputSpaceDimension,
unsigned int, NDimensions);
55 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
56 itkStaticConstMacro( ParametersDimension,
unsigned int,
57 NDimensions * ( NDimensions + 1 ) );
90 void SetIdentity(
void) ITK_OVERRIDE;
96 { this->SetScale(scale); }
99 virtual void SetScale(
const double scale[NDimensions]);
102 { this->SetScale(scale); }
112 bool GetInverse(Self *inverse)
const;
115 virtual InverseTransformBasePointer GetInverseTransform() const ITK_OVERRIDE;
120 itkLegacyMacro(
void SetMatrixComponent(const MatrixType & matrix));
124 itkLegacyMacro(const MatrixType & GetMatrixComponent() const);
128 itkLegacyMacro(
void SetOffsetComponent(const OffsetType & offset) );
132 itkLegacyMacro(const OffsetType & GetOffsetComponent(
void) const );
143 const OutputVectorType & offset);
145 unsigned int parametersDimension);
150 void ComputeMatrix() ITK_OVERRIDE;
156 void PrintSelf(std::ostream & s,
Indent indent) const ITK_OVERRIDE;
158 void SetVarScale(const
double *scale)
159 {
for (
int i = 0; i < InputSpaceDimension; i++ ) { m_Scale[i] = scale[i]; } }
164 const Self & operator=(
const Self &);
166 double m_Scale[NDimensions];
171 #ifndef ITK_MANUAL_INSTANTIATION
172 #include "itkScalableAffineTransform.hxx"
Light weight base class for most itk classes.
Control indentation during Print() invocation.