18 #ifndef itkScaleTransform_h
19 #define itkScaleTransform_h
40 template<
typename TParametersValueType=float,
41 unsigned int NDimensions=3>
60 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
61 itkStaticConstMacro(ParametersDimension,
unsigned int, NDimensions);
104 virtual void SetParameters(
const ParametersType & parameters) ITK_OVERRIDE;
110 virtual const ParametersType & GetParameters() const ITK_OVERRIDE;
113 #if !defined( ITK_LEGACY_REMOVE )
120 if (params.GetSize() != NDimensions)
122 itkWarningMacro(<<
"The ScaleTransform now has " << NDimensions <<
" fixed parameters for the Center. Ignoring fixed parameters provided.");
125 Superclass::SetFixedParameters(params);
131 virtual void ComputeJacobianWithRespectToParameters(
const InputPointType & point, JacobianType & j)
const ITK_OVERRIDE;
137 virtual void ComputeJacobianWithRespectToPosition(
const InputPointType & x, JacobianType & jac)
const ITK_OVERRIDE;
147 void SetScale(
const ScaleType & scale);
149 virtual void ComputeMatrix(
void) ITK_OVERRIDE;
152 void Compose(const Self *other,
bool pre = false);
157 void Scale(const ScaleType & scale,
bool pre = false);
163 OutputPointType TransformPoint(const InputPointType & point) const ITK_OVERRIDE;
165 using Superclass::TransformVector;
166 OutputVectorType TransformVector(const InputVectorType & vector) const ITK_OVERRIDE;
168 OutputVnlVectorType TransformVector(const InputVnlVectorType & vector) const ITK_OVERRIDE;
170 using Superclass::TransformCovariantVector;
171 OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType & vector) const ITK_OVERRIDE;
177 inline InputPointType BackTransform(const OutputPointType & point) const;
179 inline InputVectorType BackTransform(const OutputVectorType & vector) const;
181 inline InputVnlVectorType BackTransform(const OutputVnlVectorType & vector) const;
183 inline InputCovariantVectorType BackTransform(const OutputCovariantVectorType & vector) const;
189 bool GetInverse(Self *inverse) const;
192 virtual InverseTransformBasePointer GetInverseTransform() const ITK_OVERRIDE;
197 void SetIdentity() ITK_OVERRIDE;
200 itkGetConstReferenceMacro(Scale, ScaleType);
207 ~ScaleTransform() ITK_OVERRIDE;
210 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
213 ITK_DISALLOW_COPY_AND_ASSIGN(ScaleTransform);
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "itkScaleTransform.hxx"
Light weight base class for most itk classes.
Control indentation during Print() invocation.
A templated class holding a geometric point in n-Dimensional space.
A templated class holding a n-Dimensional covariant vector.