18 #ifndef itkAffineTransform_h 19 #define itkAffineTransform_h 100 typename TParametersValueType = double,
101 unsigned int NDimensions = 3 >
127 NDimensions *( NDimensions + 1 ) );
160 void Translate(
const OutputVectorType & offset,
bool pre = 0);
173 void Scale(
const OutputVectorType & factor,
bool pre = 0);
175 void Scale(
const TParametersValueType & factor,
bool pre = 0);
192 void Rotate(
int axis1,
int axis2, TParametersValueType angle,
bool pre = 0);
208 void Rotate2D(TParametersValueType angle,
bool pre = 0);
223 void Rotate3D(
const OutputVectorType & axis, TParametersValueType angle,
bool pre = 0);
236 void Shear(
int axis1,
int axis2, TParametersValueType coef,
bool pre = 0);
252 itkLegacyMacro(InputPointType BackTransform(const OutputPointType & point) const);
253 itkLegacyMacro(InputVectorType BackTransform(const OutputVectorType & vector) const);
254 itkLegacyMacro(InputVnlVectorType BackTransform( const OutputVnlVectorType & vector) const);
255 itkLegacyMacro(InputCovariantVectorType BackTransform( const OutputCovariantVectorType & vector) const);
267 itkLegacyMacro(InputPointType BackTransformPoint(const OutputPointType & point) const);
280 ScalarType
Metric(const Self *other) const;
285 ScalarType
Metric() const;
296 const OutputVectorType & offset);
309 AffineTransform(const Self & other);
310 const Self & operator=(const Self &);
313 #if !defined(ITK_LEGACY_REMOVE) 315 template<
typename TParametersValueType,
unsigned int NDimensions>
321 <<
"BackTransform(): This method is slated to be removed " 322 <<
"from ITK. Instead, please use GetInverse() to generate an inverse " 323 <<
"transform and then perform the transform using that inverted transform.");
329 template<
typename TParametersValueType,
unsigned int NDimensions>
335 <<
"BackTransform(): This method is slated to be removed " 336 <<
"from ITK. Instead, please use GetInverse() to generate an inverse " 337 <<
"transform and then perform the transform using that inverted transform.");
343 template<
typename TParametersValueType,
unsigned int NDimensions>
349 <<
"BackTransform(): This method is slated to be removed " 350 <<
"from ITK. Instead, please use GetInverse() to generate an inverse " 351 <<
"transform and then perform the transform using that inverted transform.");
353 InputCovariantVectorType result;
355 for (
unsigned int i = 0; i < NDimensions; i++ )
358 for (
unsigned int j = 0; j < NDimensions; j++ )
360 result[i] += this->
GetMatrix()[j][i] * vec[j];
367 template<
typename TParametersValueType,
unsigned int NDimensions>
372 return this->BackTransform(point);
376 template<
typename TParametersValueType,
unsigned int NDimensions>
382 <<
"BackTransform(): This method is slated to be removed " 383 <<
"from ITK. Instead, please use GetInverse() to generate an inverse " 384 <<
"transform and then perform the transform using that inverted transform.");
385 InputPointType result;
386 ScalarType temp[NDimensions];
390 for ( j = 0; j < NDimensions; j++ )
392 temp[j] = point[j] - this->
GetOffset()[j];
395 for ( i = 0; i < NDimensions; i++ )
398 for ( j = 0; j < NDimensions; j++ )
408 #ifndef ITK_MANUAL_INSTANTIATION 409 #include "itkAffineTransform.hxx"
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Control indentation during Print() invocation.