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

Translation transformation of a vector space (e.g. space coordinates) More...

#include <itkTranslationTransform.h>

Inheritance diagram for itk::TranslationTransform< TScalarType, NDimensions >:
Collaboration diagram for itk::TranslationTransform< TScalarType, NDimensions >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef CovariantVector
< TScalarType, NDimensions > 
InputCovariantVectorType
typedef Point< TScalarType,
NDimensions > 
InputPointType
typedef Vector< TScalarType,
NDimensions > 
InputVectorType
typedef vnl_vector_fixed
< TScalarType, NDimensions > 
InputVnlVectorType
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
typedef Superclass::JacobianType JacobianType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef CovariantVector
< TScalarType, NDimensions > 
OutputCovariantVectorType
typedef Point< TScalarType,
NDimensions > 
OutputPointType
typedef Vector< TScalarType,
NDimensions > 
OutputVectorType
typedef vnl_vector_fixed
< TScalarType, NDimensions > 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef TranslationTransform Self
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass

Public Member Functions

InputPointType BackTransform (const OutputPointType &point) const
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
InputVectorType BackTransform (const OutputVectorType &vector) const
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
void Compose (const Self *other, bool pre=0)
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &point, JacobianType &j) const
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianType &jac) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
bool GetInverse (Self *inverse) const
virtual InverseTransformBasePointer GetInverseTransform () const
virtual const char * GetNameOfClass () const
virtual NumberOfParametersType GetNumberOfParameters (void) const
const OutputVectorTypeGetOffset (void) const
virtual const ParametersTypeGetParameters (void) const
virtual bool IsLinear () const
virtual void SetFixedParameters (const ParametersType &)
void SetIdentity (void)
void SetOffset (const OutputVectorType &offset)
void SetParameters (const ParametersType &parameters)
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const
OutputPointType TransformPoint (const InputPointType &point) const
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const
OutputVectorType TransformVector (const InputVectorType &vector) const
void Translate (const OutputVectorType &offset, bool pre=0)
virtual const ParametersTypeGetFixedParameters (void) const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int SpaceDimension = NDimensions
static const unsigned int ParametersDimension = NDimensions

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const
 TranslationTransform ()
 ~TranslationTransform ()

Private Member Functions

void operator= (const Self &)
 TranslationTransform (const Self &)

Private Attributes

JacobianType m_IdentityJacobian
OutputVectorType m_Offset

Detailed Description

template<class TScalarType = double, unsigned int NDimensions = 3>
class itk::TranslationTransform< TScalarType, NDimensions >

Translation transformation of a vector space (e.g. space coordinates)

The same functionality could be obtained by using the Affine tranform, but with a large difference in performace.

Wiki Examples:

Definition at line 48 of file itkTranslationTransform.h.


Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::TranslationTransform< TScalarType, NDimensions >::ConstPointer
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::InputCovariantVectorType

Standard covariant vector type for this class.

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

Definition at line 86 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Point<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::InputPointType

Standard coordinate point type for this class.

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

Definition at line 94 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Vector<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::InputVectorType

Standard vector type for this class.

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

Definition at line 82 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::InputVnlVectorType

Standard vnl_vector type for this class.

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

Definition at line 90 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef InverseTransformBaseType::Pointer itk::TranslationTransform< TScalarType, NDimensions >::InverseTransformBasePointer
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InverseTransformBaseType itk::TranslationTransform< TScalarType, NDimensions >::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::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 99 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::TranslationTransform< TScalarType, NDimensions >::JacobianType

Standard Jacobian container.

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

Definition at line 76 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::NumberOfParametersType itk::TranslationTransform< TScalarType, NDimensions >::NumberOfParametersType

The number of parameters defininig this transform.

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

Definition at line 79 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::OutputCovariantVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Point<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::OutputPointType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Vector<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::OutputVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::OutputVnlVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::TranslationTransform< TScalarType, NDimensions >::ParametersType

Standard parameters container.

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

Definition at line 73 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<Self> itk::TranslationTransform< TScalarType, NDimensions >::Pointer
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::TranslationTransform< TScalarType, NDimensions >::ScalarType

Standard scalar type for this class.

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

Definition at line 70 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef TranslationTransform itk::TranslationTransform< TScalarType, NDimensions >::Self

Standard class typedefs.

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

Definition at line 53 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Transform<TScalarType, NDimensions, NDimensions> itk::TranslationTransform< TScalarType, NDimensions >::Superclass

Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::TranslationTransform< TScalarType, NDimensions >::TranslationTransform ( ) [protected]
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::TranslationTransform< TScalarType, NDimensions >::~TranslationTransform ( ) [protected]
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::TranslationTransform< TScalarType, NDimensions >::TranslationTransform ( const Self ) [private]

Member Function Documentation

template<class TScalarType , unsigned int NDimensions>
TranslationTransform< TScalarType, NDimensions >::InputPointType itk::TranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputPointType point) const [inline]

This method finds the point or vector that maps to a given point or vector under the affine transformation defined by self. If no such point exists, an exception is thrown.

Definition at line 230 of file itkTranslationTransform.h.

template<class TScalarType , unsigned int NDimensions>
TranslationTransform< TScalarType, NDimensions >::InputVnlVectorType itk::TranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputVnlVectorType vector) const [inline]

Definition at line 248 of file itkTranslationTransform.h.

template<class TScalarType , unsigned int NDimensions>
TranslationTransform< TScalarType, NDimensions >::InputCovariantVectorType itk::TranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputCovariantVectorType vector) const [inline]

Definition at line 257 of file itkTranslationTransform.h.

template<class TScalarType , unsigned int NDimensions>
TranslationTransform< TScalarType, NDimensions >::InputVectorType itk::TranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputVectorType vector) const [inline]

Definition at line 239 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::Compose ( const Self other,
bool  pre = 0 
)

Compose with another TranslationTransform.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::TranslationTransform< TScalarType, NDimensions >::ComputeJacobianWithRespectToParameters ( const InputPointType point,
JacobianType j 
) const [virtual]

Compute the Jacobian Matrix of the transformation at one point

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::TranslationTransform< TScalarType, NDimensions >::ComputeJacobianWithRespectToPosition ( const InputPointType x,
JacobianType jac 
) const [virtual]

Get the jacobian with respect to position, which simply is an identity jacobian because the transform is position-invariant. jac will be resized as needed, but it will be more efficient if it is already properly sized.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual::itk::LightObject::Pointer itk::TranslationTransform< TScalarType, NDimensions >::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::Object.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const ParametersType& itk::TranslationTransform< TScalarType, NDimensions >::GetFixedParameters ( void  ) const [inline, virtual]

Get the Fixed Parameters. The TranslationTransform does not require Fixed parameters, therefore this method returns an parameters array of size zero.

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

Definition at line 205 of file itkTranslationTransform.h.

References itk::Array< TValueType >::SetSize().

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::TranslationTransform< TScalarType, NDimensions >::GetInverse ( Self inverse) const

Find inverse of an affine transformation. This method creates and returns a new TranslationTransform object which is the inverse of self. If self is not invertible, false is returned.

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual InverseTransformBasePointer itk::TranslationTransform< TScalarType, NDimensions >::GetInverseTransform ( ) const [virtual]

Return an inverse of this transform.

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const char* itk::TranslationTransform< TScalarType, NDimensions >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual NumberOfParametersType itk::TranslationTransform< TScalarType, NDimensions >::GetNumberOfParameters ( void  ) const [inline, virtual]

Return the number of parameters that completely define the Transfom

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

Definition at line 180 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
const OutputVectorType& itk::TranslationTransform< TScalarType, NDimensions >::GetOffset ( void  ) const [inline]

This method returns the value of the offset of the TranslationTransform.

Definition at line 104 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const ParametersType& itk::TranslationTransform< TScalarType, NDimensions >::GetParameters ( void  ) const [virtual]

Get the Transformation Parameters.

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual bool itk::TranslationTransform< TScalarType, NDimensions >::IsLinear ( ) const [inline, virtual]

Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then

\[ T( a*P + b*Q ) = a * T(P) + b * T(Q) \]

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

Definition at line 190 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
static Pointer itk::TranslationTransform< TScalarType, NDimensions >::New ( ) [static]

New macro for creation of through the object factory.

Reimplemented from itk::Object.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

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

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Print contents of an TranslationTransform.

Reimplemented from itk::Object.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::TranslationTransform< TScalarType, NDimensions >::SetFixedParameters ( const ParametersType ) [inline, virtual]

Set the fixed parameters and update internal transformation. The Translation Transform does not require fixed parameters, therefore the implementation of this method is a null operation.

Implements itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 198 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::SetIdentity ( void  )

Set the parameters to the IdentityTransform

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::SetOffset ( const OutputVectorType offset) [inline]

Set offset of an Translation Transform. This method sets the offset of an TranslationTransform to a value specified by the user.

Definition at line 119 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::SetParameters ( const ParametersType parameters) [virtual]

This method sets the parameters for the transform value specified by the user.

Implements itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputCovariantVectorType itk::TranslationTransform< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType ) const [virtual]
template<class TScalarType = double, unsigned int NDimensions = 3>
OutputPointType itk::TranslationTransform< TScalarType, NDimensions >::TransformPoint ( const InputPointType point) const

Transform by an affine transformation. This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector.

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::TranslationTransform< TScalarType, NDimensions >::TransformVector ( const InputVectorType vector) const
template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVnlVectorType itk::TranslationTransform< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType vector) const
template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::TranslationTransform< TScalarType, NDimensions >::Translate ( const OutputVectorType offset,
bool  pre = 0 
)

Compose affine 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, unsigned int NDimensions = 3>
JacobianType itk::TranslationTransform< TScalarType, NDimensions >::m_IdentityJacobian [private]

Definition at line 222 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::TranslationTransform< TScalarType, NDimensions >::m_Offset [private]

Definition at line 223 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
const unsigned int itk::TranslationTransform< TScalarType, NDimensions >::ParametersDimension = NDimensions [static]

Dimension of the domain space.

Definition at line 66 of file itkTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
const unsigned int itk::TranslationTransform< TScalarType, NDimensions >::SpaceDimension = NDimensions [static]

Dimension of the domain space.

Definition at line 65 of file itkTranslationTransform.h.


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