18 #ifndef __itkRigid2DTransform_h
19 #define __itkRigid2DTransform_h
56 template <
class TScalarType =
double>
77 itkStaticConstMacro(InputSpaceDimension,
unsigned int, 2);
78 itkStaticConstMacro(OutputSpaceDimension,
unsigned int, 2);
79 itkStaticConstMacro(ParametersDimension,
unsigned int, 3);
134 virtual void SetMatrix(
const MatrixType & matrix);
143 void Translate(
const OffsetType & offset,
bool pre =
false);
162 void SetAngle(TScalarType angle);
164 itkGetConstReferenceMacro(Angle, TScalarType);
167 void SetAngleInDegrees(TScalarType angle);
172 void SetRotation(TScalarType angle)
174 this->SetAngle(angle);
176 virtual const TScalarType & GetRotation()
const
190 void SetParameters(
const ParametersType & parameters);
200 const ParametersType & GetParameters(
void)
const;
204 virtual void ComputeJacobianWithRespectToParameters(
const InputPointType & p, JacobianType & jacobian)
const;
210 void CloneInverseTo(Pointer & newinverse)
const;
213 bool GetInverse(Self *inverse)
const;
216 virtual InverseTransformBasePointer GetInverseTransform()
const;
222 void CloneTo(Pointer & clone)
const;
225 virtual void SetIdentity(
void);
227 #ifdef ITKV3_COMPATIBILITY
234 itkLegacyMacro(
virtual void SetRotationMatrix(
const MatrixType & matrix));
235 itkLegacyMacro(
const MatrixType & GetRotationMatrix()
const);
241 Rigid2DTransform(
unsigned int outputSpaceDimension,
unsigned int parametersDimension);
250 void PrintSelf(std::ostream & os,
Indent indent)
const;
255 virtual void ComputeMatrix(
void);
261 virtual void ComputeMatrixParameters(
void);
264 void SetVarAngle(TScalarType angle)
270 void operator=(
const Self &);
278 template <
class TScalarType>
285 "BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
287 return this->GetInverseMatrix() * ( point - this->GetOffset() );
291 template <
class TScalarType>
298 "BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
300 return this->GetInverseMatrix() * vect;
304 template <
class TScalarType>
311 "BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
313 return this->GetInverseMatrix() * vect;
317 template <
class TScalarType>
324 "BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
326 return this->GetMatrix() * vect;
332 #define ITK_TEMPLATE_Rigid2DTransform(_, EXPORT, TypeX, TypeY) \
335 _( 1 ( class EXPORT Rigid2DTransform<ITK_TEMPLATE_1 TypeX> ) ) \
336 namespace Templates \
338 typedef Rigid2DTransform<ITK_TEMPLATE_1 TypeX> Rigid2DTransform##TypeY; \
342 #if ITK_TEMPLATE_EXPLICIT
343 #include "Templates/itkRigid2DTransform+-.h"
347 #include "itkRigid2DTransform.hxx"