Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::CenteredRigid2DTransform< TScalarType > Class Template Reference
[Transforms]

CenteredRigid2DTransform of a vector space (e.g. space coordinates). More...

#include <itkCenteredRigid2DTransform.h>

Inheritance diagram for itk::CenteredRigid2DTransform< TScalarType >:

Inheritance graph
[legend]
Collaboration diagram for itk::CenteredRigid2DTransform< TScalarType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CenteredRigid2DTransform Self
typedef Rigid2DTransform<
TScalarType > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ScalarType ScalarType
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef Superclass::OffsetType OffsetType
typedef Superclass::InputPointType InputPointType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::InputVectorType InputVectorType
typedef Superclass::OutputVectorType OutputVectorType
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
typedef Superclass::InputVnlVectorType InputVnlVectorType
typedef Superclass::OutputVnlVectorType OutputVnlVectorType

Public Member Functions

virtual const char * GetClassName () const
void SetParameters (const ParametersType &parameters)
const ParametersTypeGetParameters (void) const
const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void SetIdentity (void)
 itkStaticConstMacro (SpaceDimension, unsigned int, 2)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 2)
 itkStaticConstMacro (ParametersDimension, unsigned int, 5)
void SetAngle (TScalarType angle)
void SetAngleInDegrees (TScalarType angle)
virtual const TScalarType & GetAngle ()
void SetCenter (const InputPointType &center)
virtual const InputPointTypeGetCenter ()
void SetTranslation (const OutputVectorType &translation)
virtual const OutputVectorTypeGetTranslation ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 CenteredRigid2DTransform ()
 ~CenteredRigid2DTransform ()
 CenteredRigid2DTransform (unsigned int outputSpaceDimension, unsigned int parametersDimension)
void PrintSelf (std::ostream &os, Indent indent) const
virtual void ComputeMatrixAndOffset (void)

Detailed Description

template<class TScalarType = double>
class itk::CenteredRigid2DTransform< TScalarType >

CenteredRigid2DTransform of a vector space (e.g. space coordinates).

This transform applies a rigid transformation in 2D space The transformation is specified as a rotation around an arbitrary center and is followed by a translation.

The need for introducing this transform is that a rotation is not specified simply by an angle, as we use to think, but also by a center of rotation. We use to assume that the center of rotation is the origin of the coordinate system. This assumption, however does not usually hold in applications such as image registration.

In order to initialize this transform a user should provide the following

With these parameters the transform applies first a translation that will move the center of rotation to be the new origin. Next, a rotation is performed around this origin. Then another translation is applied in order to move the origin back to the position of the center of rotation. Finally, the user-specified translation is applied. Note that the user-spedified translation is applied after the image has returned to the original coordinate system. If you want to rotate an image around its center, please specify a null translation and just set the center of rotation. This transform will take care internally of the two translations required to implement a rotation around an arbitrary point.

The serialization of parameters in this transform results in an array of five element ordered as follows

p[0] = angle p[1] = x coordinate of the centre p[2] = y coordinate of the centre p[3] = x component of the translation p[4] = y component of the translation

For convenience, an additional method is available for specifying the rotation in degrees instead of radians.

Definition at line 71 of file itkCenteredRigid2DTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::CenteredRigid2DTransform< TScalarType >::ConstPointer
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 79 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::CenteredRigid2DTransform< TScalarType >::InputCovariantVectorType
 

CovariantVector type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 115 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputPointType itk::CenteredRigid2DTransform< TScalarType >::InputPointType
 

Point type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 107 of file itkCenteredRigid2DTransform.h.

Referenced by itk::CenteredRigid2DTransform< TScalarType >::~CenteredRigid2DTransform().

template<class TScalarType = double>
typedef Superclass::InputVectorType itk::CenteredRigid2DTransform< TScalarType >::InputVectorType
 

Vector type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 111 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::CenteredRigid2DTransform< TScalarType >::InputVnlVectorType
 

VnlVector type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 119 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::JacobianType itk::CenteredRigid2DTransform< TScalarType >::JacobianType
 

Jacobian type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 101 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OffsetType itk::CenteredRigid2DTransform< TScalarType >::OffsetType
 

Offset type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 104 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::CenteredRigid2DTransform< TScalarType >::OutputCovariantVectorType
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 116 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputPointType itk::CenteredRigid2DTransform< TScalarType >::OutputPointType
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 108 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::CenteredRigid2DTransform< TScalarType >::OutputVectorType
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 112 of file itkCenteredRigid2DTransform.h.

Referenced by itk::CenteredRigid2DTransform< TScalarType >::~CenteredRigid2DTransform().

template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::CenteredRigid2DTransform< TScalarType >::OutputVnlVectorType
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 120 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::ParametersType itk::CenteredRigid2DTransform< TScalarType >::ParametersType
 

Parameters type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 98 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef SmartPointer<Self> itk::CenteredRigid2DTransform< TScalarType >::Pointer
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 78 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::ScalarType itk::CenteredRigid2DTransform< TScalarType >::ScalarType
 

Scalar type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 95 of file itkCenteredRigid2DTransform.h.

template<class TScalarType = double>
typedef CenteredRigid2DTransform itk::CenteredRigid2DTransform< TScalarType >::Self
 

Standard class typedefs.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 76 of file itkCenteredRigid2DTransform.h.

Referenced by itk::CenteredRigid2DTransform< TScalarType >::~CenteredRigid2DTransform().

template<class TScalarType = double>
typedef Rigid2DTransform< TScalarType > itk::CenteredRigid2DTransform< TScalarType >::Superclass
 

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 77 of file itkCenteredRigid2DTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double>
itk::CenteredRigid2DTransform< TScalarType >::CenteredRigid2DTransform  )  [protected]
 

template<class TScalarType = double>
itk::CenteredRigid2DTransform< TScalarType >::~CenteredRigid2DTransform  )  [inline, protected]
 

Definition at line 163 of file itkCenteredRigid2DTransform.h.

References itk::CenteredRigid2DTransform< TScalarType >::InputPointType, itk::CenteredRigid2DTransform< TScalarType >::OutputVectorType, and itk::CenteredRigid2DTransform< TScalarType >::Self.

template<class TScalarType = double>
itk::CenteredRigid2DTransform< TScalarType >::CenteredRigid2DTransform unsigned int  outputSpaceDimension,
unsigned int  parametersDimension
[protected]
 


Member Function Documentation

template<class TScalarType = double>
virtual void itk::CenteredRigid2DTransform< TScalarType >::ComputeMatrixAndOffset void   )  [protected, virtual]
 

Compute the components of the rotation matrix and offset in the superclass.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual const TScalarType& itk::CenteredRigid2DTransform< TScalarType >::GetAngle  )  [virtual]
 

Set the rotational part of the transform.

template<class TScalarType = double>
virtual const InputPointType& itk::CenteredRigid2DTransform< TScalarType >::GetCenter  )  [virtual]
 

Set and Get the center of rotation

template<class TScalarType = double>
virtual const char* itk::CenteredRigid2DTransform< TScalarType >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
const JacobianType& itk::CenteredRigid2DTransform< TScalarType >::GetJacobian const InputPointType point  )  const [virtual]
 

This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
const ParametersType& itk::CenteredRigid2DTransform< TScalarType >::GetParameters void   )  const [virtual]
 

Get the parameters that uniquely define the transform This is typically used by optimizers. There are 3 parameters. The first one represents the rotation and the last two represents the offset.

Reimplemented from itk::Transform< TScalarType, 2, 2 >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual const OutputVectorType& itk::CenteredRigid2DTransform< TScalarType >::GetTranslation  )  [virtual]
 

Set and Get the Translation to be applied after rotation

template<class TScalarType = double>
itk::CenteredRigid2DTransform< TScalarType >::itkStaticConstMacro ParametersDimension  ,
unsigned  int,
 

Dimension of parameters.

template<class TScalarType = double>
itk::CenteredRigid2DTransform< TScalarType >::itkStaticConstMacro OutputSpaceDimension  ,
unsigned  int,
 

Dimension of parameters.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
itk::CenteredRigid2DTransform< TScalarType >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
 

Dimension of parameters.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
Pointer itk::CenteredRigid2DTransform< TScalarType >::New  )  [static]
 

New macro for creation of through a Smart Pointer.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::CenteredRigid2DTransform< TScalarType >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Print contents of an Rigid2DTransform

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::CenteredRigid2DTransform< TScalarType >::SetAngle TScalarType  angle  ) 
 

Set the rotational part of the transform.

template<class TScalarType = double>
void itk::CenteredRigid2DTransform< TScalarType >::SetAngleInDegrees TScalarType  angle  ) 
 

Set the rotational part of the transform.

template<class TScalarType = double>
void itk::CenteredRigid2DTransform< TScalarType >::SetCenter const InputPointType center  ) 
 

Set and Get the center of rotation

template<class TScalarType = double>
virtual void itk::CenteredRigid2DTransform< TScalarType >::SetIdentity void   )  [virtual]
 

Set the transformation to an Identity This sets the matrix to identity and the Offset to null.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::CenteredRigid2DTransform< TScalarType >::SetParameters const ParametersType parameters  )  [virtual]
 

Set the transformation from a container of parameters This is typically used by optimizers. There are 3 parameters. The first one represents the rotation and the last two represents the offset.

Reimplemented from itk::Transform< TScalarType, 2, 2 >.

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::CenteredRigid2DTransform< TScalarType >::SetTranslation const OutputVectorType translation  ) 
 

Set and Get the Translation to be applied after rotation


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 02:59:31 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000