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

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

#include <itkSimilarity2DTransform.h>

Inheritance diagram for itk::Similarity2DTransform< TScalarType >:
Collaboration diagram for itk::Similarity2DTransform< 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::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef TScalarType ScaleType
typedef Similarity2DTransform Self
typedef Rigid2DTransform
< TScalarType > 
Superclass

Public Member Functions

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
bool GetInverse (Self *inverse) const
virtual InverseTransformBasePointer GetInverseTransform () const
virtual const char * GetNameOfClass () const
const ParametersTypeGetParameters (void) const
virtual const ScaleTypeGetScale ()
virtual void SetIdentity (void)
virtual void SetMatrix (const MatrixType &matrix)
void SetParameters (const ParametersType &parameters)
void SetScale (ScaleType scale)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int SpaceDimension = 2
static const unsigned int InputSpaceDimension = 2
static const unsigned int OutputSpaceDimension = 2
static const unsigned int ParametersDimension = 4

Protected Member Functions

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

Private Attributes

ScaleType m_Scale
void SetVarScale (ScaleType scale)
 Similarity2DTransform (const Self &)
void operator= (const Self &)

Detailed Description

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

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

This transform applies a homogenous scale and rigid transform in 2D space. The transform is specified as a scale and rotation around a arbitrary center and is followed by a translation. given one angle for rotation, a homogeneous scale and a 2D offset for 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] = scale p[1] = angle p[2] = x component of the translation p[3] = 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.

Access methods for the angle are documented in superclass Rigid2DTransform.

See also:
Transform
MatrixOffsetTransformBase
Rigid2DTransform

Definition at line 63 of file itkSimilarity2DTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::Similarity2DTransform< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::Similarity2DTransform< TScalarType >::InputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::InputPointType itk::Similarity2DTransform< TScalarType >::InputPointType
template<class TScalarType = double>
typedef Superclass::InputVectorType itk::Similarity2DTransform< TScalarType >::InputVectorType
template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::Similarity2DTransform< TScalarType >::InputVnlVectorType

VnlVector type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 118 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
typedef InverseTransformBaseType::Pointer itk::Similarity2DTransform< TScalarType >::InverseTransformBasePointer
template<class TScalarType = double>
typedef Superclass::InverseTransformBaseType itk::Similarity2DTransform< 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::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 123 of file itkSimilarity2DTransform.h.

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

Jacobian type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 95 of file itkSimilarity2DTransform.h.

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

Matrix type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Definition at line 102 of file itkSimilarity2DTransform.h.

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

Standard matrix type for this class

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Definition at line 103 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
typedef Superclass::OffsetType itk::Similarity2DTransform< TScalarType >::OffsetType
template<class TScalarType = double>
typedef Superclass::OffsetValueType itk::Similarity2DTransform< TScalarType >::OffsetValueType
template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::Similarity2DTransform< TScalarType >::OutputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 115 of file itkSimilarity2DTransform.h.

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

Standard coordinate point type for this class

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 107 of file itkSimilarity2DTransform.h.

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

Standard vector type for this class

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 111 of file itkSimilarity2DTransform.h.

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

Standard vnl_vector type for this class

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 119 of file itkSimilarity2DTransform.h.

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

Parameters type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 91 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
typedef Superclass::ParametersValueType itk::Similarity2DTransform< TScalarType >::ParametersValueType

Type of the input parameters.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 92 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
typedef SmartPointer<Self> itk::Similarity2DTransform< TScalarType >::Pointer
template<class TScalarType = double>
typedef Superclass::ScalarType itk::Similarity2DTransform< TScalarType >::ScalarType

Scalar type.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 87 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
typedef TScalarType itk::Similarity2DTransform< TScalarType >::ScaleType

Definition at line 88 of file itkSimilarity2DTransform.h.

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

Standard class typedefs.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 68 of file itkSimilarity2DTransform.h.

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

Constructor & Destructor Documentation

template<class TScalarType = double>
itk::Similarity2DTransform< TScalarType >::Similarity2DTransform ( unsigned int  outputSpaceDimension,
unsigned int  parametersDimension 
) [protected]
template<class TScalarType = double>
itk::Similarity2DTransform< TScalarType >::Similarity2DTransform ( unsigned int  parametersDimension) [protected]
template<class TScalarType = double>
itk::Similarity2DTransform< TScalarType >::Similarity2DTransform ( ) [protected]
template<class TScalarType = double>
itk::Similarity2DTransform< TScalarType >::~Similarity2DTransform ( ) [inline, protected]

Definition at line 199 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
itk::Similarity2DTransform< TScalarType >::Similarity2DTransform ( const Self ) [private]

Set the scale without updating underlying variables.


Member Function Documentation

template<class TScalarType = double>
void itk::Similarity2DTransform< TScalarType >::CloneInverseTo ( Pointer newinverse) const

This method creates and returns a new Similarity2DTransform object which is the inverse of self.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Similarity2DTransform< TScalarType >::CloneTo ( Pointer clone) const

This method creates and returns a new Similarity2DTransform object which has the same parameters.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::Similarity2DTransform< TScalarType >::ComputeJacobianWithRespectToParameters ( const InputPointType p,
JacobianType jacobian 
) const [virtual]

This method computes the Jacobian matrix of the transformation at a given input point.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

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

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

Reimplemented from itk::Rigid2DTransform< TScalarType >.

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

Compute the angle and scale 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::Rigid2DTransform< TScalarType >.

template<class TScalarType = double>
virtual::itk::LightObject::Pointer itk::Similarity2DTransform< 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::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
bool itk::Similarity2DTransform< TScalarType >::GetInverse ( Self inverse) const

Get an inverse of this transform.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual InverseTransformBasePointer itk::Similarity2DTransform< TScalarType >::GetInverseTransform ( ) const [virtual]

Return an inverse of this transform.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual const char* itk::Similarity2DTransform< TScalarType >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

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

Get the parameters that uniquely define the transform This is typically used by optimizers. There are 4 parameters. The first one represents the scale, the second represents the angle of rotation, and the last two represent the translation. The center of rotation is fixed.

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

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
virtual const ScaleType& itk::Similarity2DTransform< TScalarType >::GetScale ( ) [virtual]
template<class TScalarType = double>
static Pointer itk::Similarity2DTransform< TScalarType >::New ( ) [static]

New macro for creation of through a Smart Pointer.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Similarity2DTransform< TScalarType >::operator= ( const Self ) [private]

Set the scale without updating underlying variables.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

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

Set the transformation to an identity.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

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

Set the rotation Matrix of a Similarity 2D Transform

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

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

Reimplemented from itk::Rigid2DTransform< TScalarType >.

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

Set the transformation from a container of parameters This is typically used by optimizers. There are 4 parameters. The first one represents the scale, the second represents the angle of rotation and the last two represent the translation. The center of rotation is fixed.

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

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Similarity2DTransform< TScalarType >::SetScale ( ScaleType  scale)

Set the Scale part of the transform.

template<class TScalarType = double>
void itk::Similarity2DTransform< TScalarType >::SetVarScale ( ScaleType  scale) [inline, protected]

Set the scale without updating underlying variables.

Definition at line 216 of file itkSimilarity2DTransform.h.


Member Data Documentation

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

Dimension of parameters.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 81 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
ScaleType itk::Similarity2DTransform< TScalarType >::m_Scale [private]

Definition at line 225 of file itkSimilarity2DTransform.h.

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

Dimension of parameters.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 82 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
const unsigned int itk::Similarity2DTransform< TScalarType >::ParametersDimension = 4 [static]

Dimension of parameters.

Reimplemented from itk::Rigid2DTransform< TScalarType >.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 83 of file itkSimilarity2DTransform.h.

template<class TScalarType = double>
const unsigned int itk::Similarity2DTransform< TScalarType >::SpaceDimension = 2 [static]

Dimension of parameters.

Reimplemented in itk::CenteredSimilarity2DTransform< TScalarType >.

Definition at line 80 of file itkSimilarity2DTransform.h.


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