NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::AffineTransform2D3D< TScalarType, NDimensions > Class Template Reference
Inheritance diagram for itk::AffineTransform2D3D< TScalarType, NDimensions >:
Inheritance graph
[legend]
Collaboration diagram for itk::AffineTransform2D3D< TScalarType, NDimensions >:
Collaboration graph
[legend]

Public Types

typedef AffineTransform2D3D Self
 
typedef
MatrixOffsetTransformBase
< TScalarType, NDimensions,
NDimensions > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::ScalarType ScalarType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::MatrixType MatrixType
 
typedef
Superclass::InverseMatrixType 
InverseMatrixType
 
typedef Superclass::CenterType CenterType
 
typedef Superclass::OffsetType OffsetType
 
typedef Superclass::TranslationType TranslationType
 
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
 
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions *(NDimensions+1))
 
virtual void SetParameters (const ParametersType &parameters)
 
virtual const ParametersTypeGetParameters (void) const
 
void Translate (const OutputVectorType &trans)
 
void Scale (const OutputVectorType &factor)
 
void Rotate (const OutputVectorType &angle)
 
void Shear (const OutputVectorType &coef)
 
bool GetInverse (Self *inverse) const
 
virtual InverseTransformBasePointer GetInverseTransform () const
 
InputPointType BackTransform (const OutputPointType &point) const
 
InputVectorType BackTransform (const OutputVectorType &vector) const
 
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
 
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
 
InputPointType BackTransformPoint (const OutputPointType &point) const
 
ScalarType Metric (const Self *other) const
 
ScalarType Metric (void) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 AffineTransform2D3D (const MatrixType &matrix, const OutputVectorType &offset)
 
 AffineTransform2D3D (unsigned int outputDims, unsigned int paramDims)
 
 AffineTransform2D3D ()
 
virtual void ComputeMatrixParameters (void)
 
virtual void ComputeMatrix (void)
 
virtual ~AffineTransform2D3D ()
 
void PrintSelf (std::ostream &s, Indent indent) const
 

Protected Attributes

Matrix< TScalarType,
NDimensions+1, NDimensions+1 > 
m_Rotations
 
Matrix< TScalarType,
NDimensions+1, NDimensions+1 > 
m_Scales
 
Matrix< TScalarType,
NDimensions+1, NDimensions+1 > 
m_Shears
 
Matrix< TScalarType,
NDimensions+1, NDimensions+1 > 
m_Translations
 
Matrix< TScalarType,
NDimensions+1, NDimensions+1 > 
m_TranslateToCentre
 
Matrix< TScalarType,
NDimensions+1, NDimensions+1 > 
m_BackTranslateCentre
 

Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::CenterType itk::AffineTransform2D3D< TScalarType, NDimensions >::CenterType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::AffineTransform2D3D< TScalarType, NDimensions >::ConstPointer
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::InputCovariantVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputPointType itk::AffineTransform2D3D< TScalarType, NDimensions >::InputPointType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::InputVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputVnlVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::InputVnlVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InverseMatrixType itk::AffineTransform2D3D< TScalarType, NDimensions >::InverseMatrixType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef InverseTransformBaseType::Pointer itk::AffineTransform2D3D< TScalarType, NDimensions >::InverseTransformBasePointer
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InverseTransformBaseType itk::AffineTransform2D3D< TScalarType, NDimensions >::InverseTransformBaseType

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

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::AffineTransform2D3D< TScalarType, NDimensions >::JacobianType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::MatrixType itk::AffineTransform2D3D< TScalarType, NDimensions >::MatrixType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OffsetType itk::AffineTransform2D3D< TScalarType, NDimensions >::OffsetType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::OutputCovariantVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::AffineTransform2D3D< TScalarType, NDimensions >::OutputPointType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::OutputVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputVnlVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::OutputVnlVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::AffineTransform2D3D< TScalarType, NDimensions >::ParametersType

Parameters Type

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

Standard typedefs

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions > itk::AffineTransform2D3D< TScalarType, NDimensions >::Superclass
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::TranslationType itk::AffineTransform2D3D< TScalarType, NDimensions >::TranslationType

Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::AffineTransform2D3D ( const MatrixType matrix,
const OutputVectorType offset 
)
protected

Construct an AffineTransform object

This method constructs a new AffineTransform object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the AffineTransform is initialized to an identity transformation in the appropriate number of dimensions.

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::AffineTransform2D3D ( unsigned int  outputDims,
unsigned int  paramDims 
)
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::AffineTransform2D3D ( )
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
virtual itk::AffineTransform2D3D< TScalarType, NDimensions >::~AffineTransform2D3D ( )
protectedvirtual

Destroy an AffineTransform object

Member Function Documentation

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

Back transform by an affine transformation

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.

Deprecated:
Please use GetInverseTransform and then call the forward transform function

Back transform a point

template<class TScalarType , unsigned int NDimensions>
AffineTransform2D3D< TScalarType, NDimensions >::InputVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::BackTransform ( const OutputVectorType vect) const
inline

Back transform a vector

template<class TScalarType , unsigned int NDimensions>
AffineTransform2D3D< TScalarType, NDimensions >::InputVnlVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::BackTransform ( const OutputVnlVectorType vect) const
inline

Back transform a vnl_vector

template<class TScalarType , unsigned int NDimensions>
AffineTransform2D3D< TScalarType, NDimensions >::InputCovariantVectorType itk::AffineTransform2D3D< TScalarType, NDimensions >::BackTransform ( const OutputCovariantVectorType vec) const
inline

Back Transform a CovariantVector

template<class TScalarType , unsigned int NDimensions>
AffineTransform2D3D< TScalarType, NDimensions >::InputPointType itk::AffineTransform2D3D< TScalarType, NDimensions >::BackTransformPoint ( const OutputPointType point) const
inline

Back transform a point by an affine transform

This method finds the point that maps to a given point under the affine transformation defined by self. If no such point exists, an exception is thrown. The returned value is (a pointer to) a brand new point created with new.

Deprecated:
Please use GetInverseTransform and then call the forward transform function

Back transform a given point which is represented as type PointType

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AffineTransform2D3D< TScalarType, NDimensions >::ComputeMatrix ( void  )
protectedvirtual
template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AffineTransform2D3D< TScalarType, NDimensions >::ComputeMatrixParameters ( void  )
protectedvirtual
template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const char* itk::AffineTransform2D3D< TScalarType, NDimensions >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

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

Get an inverse of this transform.

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

Return an inverse of this transform.

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

Get the Transformation Parameters.

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
NDimensions   
)

Dimension of the domain space.

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
NDimensions   
)
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
NDimensions   
)
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform2D3D< TScalarType, NDimensions >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
NDimensions *  NDimensions+1 
)
template<class TScalarType = double, unsigned int NDimensions = 3>
ScalarType itk::AffineTransform2D3D< TScalarType, NDimensions >::Metric ( const Self other) const

Compute distance between two affine transformations

This method computes a ``distance'' between two affine transformations. This distance is guaranteed to be a metric, but not any particular metric. (At the moment, the algorithm is to collect all the elements of the matrix and offset into a vector, and compute the euclidean (L2) norm of that vector. Some metric which could be used to estimate the distance between two points transformed by the affine transformation would be more useful, but I don't have time right now to work out the mathematical details.)

template<class TScalarType = double, unsigned int NDimensions = 3>
ScalarType itk::AffineTransform2D3D< TScalarType, NDimensions >::Metric ( void  ) const

This method computes the distance from self to the identity transformation, using the same metric as the one-argument form of the Metric() method.

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

New macro for creation of through a Smart Pointer

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform2D3D< TScalarType, NDimensions >::PrintSelf ( std::ostream &  s,
Indent  indent 
) const
protected

Print contents of an AffineTransform

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform2D3D< TScalarType, NDimensions >::Rotate ( const OutputVectorType angle)
template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform2D3D< TScalarType, NDimensions >::Scale ( const OutputVectorType factor)
template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AffineTransform2D3D< TScalarType, NDimensions >::SetParameters ( const ParametersType parameters)
virtual

Set the Transformation Parameters.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform2D3D< TScalarType, NDimensions >::Shear ( const OutputVectorType coef)
template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform2D3D< TScalarType, NDimensions >::Translate ( const OutputVectorType trans)

Member Data Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
Matrix<TScalarType,NDimensions+1,NDimensions+1> itk::AffineTransform2D3D< TScalarType, NDimensions >::m_BackTranslateCentre
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
Matrix<TScalarType,NDimensions+1,NDimensions+1> itk::AffineTransform2D3D< TScalarType, NDimensions >::m_Rotations
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
Matrix<TScalarType,NDimensions+1,NDimensions+1> itk::AffineTransform2D3D< TScalarType, NDimensions >::m_Scales
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
Matrix<TScalarType,NDimensions+1,NDimensions+1> itk::AffineTransform2D3D< TScalarType, NDimensions >::m_Shears
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
Matrix<TScalarType,NDimensions+1,NDimensions+1> itk::AffineTransform2D3D< TScalarType, NDimensions >::m_TranslateToCentre
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
Matrix<TScalarType,NDimensions+1,NDimensions+1> itk::AffineTransform2D3D< TScalarType, NDimensions >::m_Translations
protected

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