ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
itk::Rigid2DTransform< TScalarType > Class Template Reference

#include <itkRigid2DTransform.h>

+ Inheritance diagram for itk::Rigid2DTransform< TScalarType >:
+ Collaboration diagram for itk::Rigid2DTransform< TScalarType >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
typedef Superclass::InputPointType InputPointType
typedef Superclass::InputVectorType InputVectorType
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
typedef Superclass::JacobianType JacobianType
typedef Superclass::MatrixType MatrixType
typedef Superclass::MatrixValueType MatrixValueType
typedef Superclass::OffsetType OffsetType
typedef Superclass::OffsetValueType OffsetValueType
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
typedef Superclass::OutputPointType OutputPointType
typedef
Superclass::OutputVectorType 
OutputVectorType
typedef
Superclass::OutputVectorValueType 
OutputVectorValueType
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef Rigid2DTransform Self
typedef
MatrixOffsetTransformBase
< TScalarType, 2, 2 > 
Superclass

Public Member Functions

InputPointType BackTransform (const OutputPointType &point) const
InputVectorType BackTransform (const OutputVectorType &vector) const
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
void CloneInverseTo (Pointer &newinverse) const
void CloneTo (Pointer &clone) const
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const TScalarType & GetAngle ()
bool GetInverse (Self *inverse) const
virtual InverseTransformBasePointer GetInverseTransform () const
virtual const char * GetNameOfClass () const
const ParametersTypeGetParameters (void) const
void SetAngle (TScalarType angle)
void SetAngleInDegrees (TScalarType angle)
virtual void SetIdentity (void)
virtual void SetMatrix (const MatrixType &matrix)
void SetParameters (const ParametersType &parameters)
void Translate (const OffsetType &offset, bool pre=false)
virtual void SetRotationMatrix (const MatrixType &matrix)
const MatrixTypeGetRotationMatrix () const
void SetRotation (TScalarType angle)
virtual const TScalarType & GetRotation () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputSpaceDimension = 2
static const unsigned int OutputSpaceDimension = 2
static const unsigned int ParametersDimension = 3

Protected Member Functions

virtual void ComputeMatrix (void)
virtual void ComputeMatrixParameters (void)
void PrintSelf (std::ostream &os, Indent indent) const
 Rigid2DTransform (unsigned int outputSpaceDimension, unsigned int parametersDimension)
 Rigid2DTransform (unsigned int parametersDimension)
 Rigid2DTransform ()
 ~Rigid2DTransform ()

Private Attributes

TScalarType m_Angle
void SetVarAngle (TScalarType angle)
 Rigid2DTransform (const Self &)
void operator= (const Self &)

Detailed Description

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

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

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

The parameters for this transform can be set either using individual Set methods or in serialized form using SetParameters() and SetFixedParameters().

The serialization of the optimizable parameters is an array of 3 elements ordered as follows: p[0] = angle p[1] = x component of the translation p[2] = y component of the translation

The serialization of the fixed parameters is an array of 2 elements ordered as follows: p[0] = x coordinate of the center p[1] = y coordinate of the center

Access methods for the center, translation and underlying matrix offset vectors are documented in the superclass MatrixOffsetTransformBase.

See also:
Transfrom
MatrixOffsetTransformBase

Definition at line 58 of file itkRigid2DTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::Rigid2DTransform< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::Rigid2DTransform< TScalarType >::InputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::InputPointType itk::Rigid2DTransform< TScalarType >::InputPointType
template<class TScalarType = double>
typedef Superclass::InputVectorType itk::Rigid2DTransform< TScalarType >::InputVectorType
template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::Rigid2DTransform< TScalarType >::InputVnlVectorType
template<class TScalarType = double>
typedef InverseTransformBaseType::Pointer itk::Rigid2DTransform< TScalarType >::InverseTransformBasePointer
template<class TScalarType = double>
typedef Superclass::InverseTransformBaseType itk::Rigid2DTransform< TScalarType >::InverseTransformBaseType

Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.

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

Reimplemented in itk::Similarity2DTransform< TScalarType >, itk::CenteredSimilarity2DTransform< TScalarType >, itk::CenteredRigid2DTransform< TScalarType >, and itk::Euler2DTransform< TScalarType >.

Definition at line 119 of file itkRigid2DTransform.h.

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

Standard matrix type for this class

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

Reimplemented in itk::Similarity2DTransform< TScalarType >, and itk::Euler2DTransform< TScalarType >.

Definition at line 93 of file itkRigid2DTransform.h.

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

Standard matrix type for this class

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

Reimplemented in itk::Similarity2DTransform< TScalarType >.

Definition at line 94 of file itkRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OffsetType itk::Rigid2DTransform< TScalarType >::OffsetType
template<class TScalarType = double>
typedef Superclass::OffsetValueType itk::Rigid2DTransform< TScalarType >::OffsetValueType
template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::Rigid2DTransform< TScalarType >::OutputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::OutputPointType itk::Rigid2DTransform< TScalarType >::OutputPointType
template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::Rigid2DTransform< TScalarType >::OutputVectorType
template<class TScalarType = double>
typedef Superclass::OutputVectorValueType itk::Rigid2DTransform< TScalarType >::OutputVectorValueType

Standard vector type for this class

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

Reimplemented in itk::CenteredRigid2DTransform< TScalarType >.

Definition at line 103 of file itkRigid2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::Rigid2DTransform< TScalarType >::OutputVnlVectorType
template<class TScalarType = double>
typedef Superclass::ParametersType itk::Rigid2DTransform< TScalarType >::ParametersType
template<class TScalarType = double>
typedef Superclass::ParametersValueType itk::Rigid2DTransform< TScalarType >::ParametersValueType
template<class TScalarType = double>
typedef SmartPointer<Self> itk::Rigid2DTransform< TScalarType >::Pointer
template<class TScalarType = double>
typedef Superclass::ScalarType itk::Rigid2DTransform< TScalarType >::ScalarType
template<class TScalarType = double>
typedef Rigid2DTransform itk::Rigid2DTransform< TScalarType >::Self
template<class TScalarType = double>
typedef MatrixOffsetTransformBase<TScalarType, 2, 2> itk::Rigid2DTransform< TScalarType >::Superclass

Constructor & Destructor Documentation

template<class TScalarType = double>
itk::Rigid2DTransform< TScalarType >::Rigid2DTransform ( unsigned int  outputSpaceDimension,
unsigned int  parametersDimension 
) [protected]
template<class TScalarType = double>
itk::Rigid2DTransform< TScalarType >::Rigid2DTransform ( unsigned int  parametersDimension) [protected]
template<class TScalarType = double>
itk::Rigid2DTransform< TScalarType >::Rigid2DTransform ( ) [protected]
template<class TScalarType = double>
itk::Rigid2DTransform< TScalarType >::~Rigid2DTransform ( ) [protected]
template<class TScalarType = double>
itk::Rigid2DTransform< TScalarType >::Rigid2DTransform ( const Self ) [private]

Update angle without recomputation of other internal variables.


Member Function Documentation

template<class TScalarType >
Rigid2DTransform< TScalarType >::InputPointType itk::Rigid2DTransform< TScalarType >::BackTransform ( const OutputPointType point) const [inline]

Back transform by an rigid transformation.

The BackTransform() methods are slated to be removed from ITK. Instead, please use GetInverse() or CloneInverseTo() to generate an inverse transform and then perform the transform using that inverted transform.

Definition at line 283 of file itkRigid2DTransform.h.

template<class TScalarType >
Rigid2DTransform< TScalarType >::InputVectorType itk::Rigid2DTransform< TScalarType >::BackTransform ( const OutputVectorType vector) const [inline]

Definition at line 296 of file itkRigid2DTransform.h.

template<class TScalarType >
Rigid2DTransform< TScalarType >::InputVnlVectorType itk::Rigid2DTransform< TScalarType >::BackTransform ( const OutputVnlVectorType vector) const [inline]

Definition at line 309 of file itkRigid2DTransform.h.

template<class TScalarType >
Rigid2DTransform< TScalarType >::InputCovariantVectorType itk::Rigid2DTransform< TScalarType >::BackTransform ( const OutputCovariantVectorType vector) const [inline]

Definition at line 322 of file itkRigid2DTransform.h.

template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::CloneInverseTo ( Pointer newinverse) const
template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::CloneTo ( Pointer clone) const
template<class TScalarType = double>
virtual void itk::Rigid2DTransform< TScalarType >::ComputeJacobianWithRespectToParameters ( const InputPointType p,
JacobianType jacobian 
) const [virtual]

Compute the Jacobian Matrix of the transformation at one point, allowing for thread-safety.

Reimplemented in itk::Similarity2DTransform< TScalarType >, itk::CenteredSimilarity2DTransform< TScalarType >, and itk::CenteredRigid2DTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::Rigid2DTransform< TScalarType >::ComputeMatrix ( void  ) [protected, virtual]

Compute the matrix from angle. This is used in Set methods to update the underlying matrix whenever a transform parameter is changed.

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

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::Rigid2DTransform< TScalarType >::ComputeMatrixParameters ( void  ) [protected, virtual]

Compute the angle from the matrix. This is used to compute transform parameters from a given matrix. This is used in MatrixOffsetTransformBase::Compose() and MatrixOffsetTransformBase::GetInverse().

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

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual::itk::LightObject::Pointer itk::Rigid2DTransform< TScalarType >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

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

Reimplemented in itk::Similarity2DTransform< TScalarType >, itk::CenteredSimilarity2DTransform< TScalarType >, itk::CenteredRigid2DTransform< TScalarType >, and itk::Euler2DTransform< TScalarType >.

template<class TScalarType = double>
virtual const TScalarType& itk::Rigid2DTransform< TScalarType >::GetAngle ( ) [virtual]
template<class TScalarType = double>
bool itk::Rigid2DTransform< TScalarType >::GetInverse ( Self inverse) const
template<class TScalarType = double>
virtual InverseTransformBasePointer itk::Rigid2DTransform< TScalarType >::GetInverseTransform ( ) const [virtual]
template<class TScalarType = double>
virtual const char* itk::Rigid2DTransform< TScalarType >::GetNameOfClass ( ) const [virtual]
template<class TScalarType = double>
const ParametersType& itk::Rigid2DTransform< 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 angle or rotation in radians and the last two represents the translation. The center of rotation is fixed.

See also:
Transform::GetParameters()
Transform::GetFixedParameters()

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

Reimplemented in itk::Similarity2DTransform< TScalarType >, itk::CenteredSimilarity2DTransform< TScalarType >, and itk::CenteredRigid2DTransform< TScalarType >.

template<class TScalarType = double>
virtual const TScalarType& itk::Rigid2DTransform< TScalarType >::GetRotation ( ) const [inline, virtual]

Set/Get the angle of rotation in radians. These methods are old and are retained for backward compatibility. Instead, use SetAngle() and GetAngle().

Definition at line 191 of file itkRigid2DTransform.h.

template<class TScalarType = double>
const MatrixType& itk::Rigid2DTransform< TScalarType >::GetRotationMatrix ( ) const [inline]

Set/Get the rotation matrix. These methods are old and are retained for backward compatibility. Instead, use SetMatrix() GetMatrix().

Definition at line 145 of file itkRigid2DTransform.h.

template<class TScalarType = double>
static Pointer itk::Rigid2DTransform< TScalarType >::New ( ) [static]
template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::operator= ( const Self ) [private]
template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::SetAngle ( TScalarType  angle)

Set/Get the angle of rotation in radians

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

Set the angle of rotation in degrees.

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

Reset the parameters to create and identity transform.

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

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::Rigid2DTransform< TScalarType >::SetMatrix ( const MatrixType matrix) [virtual]

Set the rotation Matrix of a Rigid2D Transform

This method sets the 2x2 matrix representing the rotation in the transform. The Matrix is expected to be orthogonal with a certain tolerance.

Warning:
This method will throw an exception is the matrix provided as argument is not orthogonal.
See also:
MatrixOffsetTransformBase::SetMatrix()

Reimplemented in itk::Similarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Rigid2DTransform< 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 angle of rotation in radians and the last two represents the translation. The center of rotation is fixed.

See also:
Transform::SetParameters()
Transform::SetFixedParameters()

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

Reimplemented in itk::Similarity2DTransform< TScalarType >, itk::CenteredSimilarity2DTransform< TScalarType >, and itk::CenteredRigid2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::SetRotation ( TScalarType  angle) [inline]

Set/Get the angle of rotation in radians. These methods are old and are retained for backward compatibility. Instead, use SetAngle() and GetAngle().

Definition at line 187 of file itkRigid2DTransform.h.

template<class TScalarType = double>
virtual void itk::Rigid2DTransform< TScalarType >::SetRotationMatrix ( const MatrixType matrix) [inline, virtual]

Set/Get the rotation matrix. These methods are old and are retained for backward compatibility. Instead, use SetMatrix() GetMatrix().

Definition at line 141 of file itkRigid2DTransform.h.

template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::SetVarAngle ( TScalarType  angle) [inline, protected]

Update angle without recomputation of other internal variables.

Definition at line 266 of file itkRigid2DTransform.h.

template<class TScalarType = double>
void itk::Rigid2DTransform< TScalarType >::Translate ( const OffsetType offset,
bool  pre = false 
)

Compose the transformation with a translation

This method modifies self to include a translation of the origin. The translation is precomposed with self if pre is true, and postcomposed otherwise.


Member Data Documentation

template<class TScalarType = double>
const unsigned int itk::Rigid2DTransform< TScalarType >::InputSpaceDimension = 2 [static]
template<class TScalarType = double>
TScalarType itk::Rigid2DTransform< TScalarType >::m_Angle [private]

Definition at line 275 of file itkRigid2DTransform.h.

template<class TScalarType = double>
const unsigned int itk::Rigid2DTransform< TScalarType >::OutputSpaceDimension = 2 [static]
template<class TScalarType = double>
const unsigned int itk::Rigid2DTransform< TScalarType >::ParametersDimension = 3 [static]

The documentation for this class was generated from the following file: