go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
itk::AdvancedRigid3DTransform< TScalarType > Class Template Reference

#include <itkAdvancedRigid3DTransform.h>

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

Public Types

typedef Superclass::CenterType CenterType
typedef SmartPointer< const SelfConstPointer
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
typedef Superclass::InputPointType InputPointType
typedef Superclass::InputVectorType InputVectorType
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
typedef
Superclass::InternalMatrixType 
InternalMatrixType
typedef
Superclass::InverseMatrixType 
InverseMatrixType
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
typedef Superclass::JacobianType JacobianType
typedef Superclass::MatrixType MatrixType
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
typedef Superclass::OffsetType OffsetType
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
typedef Superclass::OutputPointType OutputPointType
typedef
Superclass::OutputVectorType 
OutputVectorType
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef AdvancedRigid3DTransform Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef
AdvancedMatrixOffsetTransformBase
< TScalarType, 3, 3 > 
Superclass
typedef Superclass::TranslationType TranslationType

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
virtual const char * GetClassName () const
const MatrixTypeGetRotationMatrix ()
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (ParametersDimension, unsigned int, 12)
bool MatrixIsOrthogonal (const MatrixType &matrix, double tol=1e-10)
virtual void SetMatrix (const MatrixType &matrix)
virtual void SetParameters (const ParametersType &parameters)
virtual void SetRotationMatrix (const MatrixType &matrix)
void Translate (const OffsetType &offset, bool pre=false)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 AdvancedRigid3DTransform (unsigned int spaceDim, unsigned int paramDim)
 AdvancedRigid3DTransform (const MatrixType &matrix, const OutputVectorType &offset)
 AdvancedRigid3DTransform ()
void PrintSelf (std::ostream &os, Indent indent) const
 ~AdvancedRigid3DTransform ()

Private Member Functions

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

Detailed Description

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

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

This transform applies a rotation and translation in 3D space. The transform is specified as a rotation matrix 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 12 elements. The first 9 parameters represents the rotation matrix in column-major order (where the column index varies the fastest). The last 3 parameters defines the translation in each dimension.

The serialization of the fixed parameters is an array of 3 elements defining the center of rotation in each dimension.

Definition at line 49 of file itkAdvancedRigid3DTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef Superclass::CenterType itk::AdvancedRigid3DTransform< TScalarType >::CenterType
template<class TScalarType = double>
typedef SmartPointer<const Self> itk::AdvancedRigid3DTransform< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::AdvancedRigid3DTransform< TScalarType >::InputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::InputPointType itk::AdvancedRigid3DTransform< TScalarType >::InputPointType
template<class TScalarType = double>
typedef Superclass::InputVectorType itk::AdvancedRigid3DTransform< TScalarType >::InputVectorType
template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::AdvancedRigid3DTransform< TScalarType >::InputVnlVectorType
template<class TScalarType = double>
typedef Superclass::InternalMatrixType itk::AdvancedRigid3DTransform< TScalarType >::InternalMatrixType
template<class TScalarType = double>
typedef Superclass::InverseMatrixType itk::AdvancedRigid3DTransform< TScalarType >::InverseMatrixType
template<class TScalarType = double>
typedef Superclass ::JacobianOfSpatialHessianType itk::AdvancedRigid3DTransform< TScalarType >::JacobianOfSpatialHessianType
template<class TScalarType = double>
typedef Superclass ::JacobianOfSpatialJacobianType itk::AdvancedRigid3DTransform< TScalarType >::JacobianOfSpatialJacobianType
template<class TScalarType = double>
typedef Superclass::JacobianType itk::AdvancedRigid3DTransform< TScalarType >::JacobianType
template<class TScalarType = double>
typedef Superclass::MatrixType itk::AdvancedRigid3DTransform< TScalarType >::MatrixType
template<class TScalarType = double>
typedef Superclass ::NonZeroJacobianIndicesType itk::AdvancedRigid3DTransform< TScalarType >::NonZeroJacobianIndicesType
template<class TScalarType = double>
typedef Superclass::OffsetType itk::AdvancedRigid3DTransform< TScalarType >::OffsetType
template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::AdvancedRigid3DTransform< TScalarType >::OutputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::OutputPointType itk::AdvancedRigid3DTransform< TScalarType >::OutputPointType
template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::AdvancedRigid3DTransform< TScalarType >::OutputVectorType
template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::AdvancedRigid3DTransform< TScalarType >::OutputVnlVectorType
template<class TScalarType = double>
typedef Superclass::ParametersType itk::AdvancedRigid3DTransform< TScalarType >::ParametersType
template<class TScalarType = double>
typedef SmartPointer<Self> itk::AdvancedRigid3DTransform< TScalarType >::Pointer
template<class TScalarType = double>
typedef Superclass::ScalarType itk::AdvancedRigid3DTransform< TScalarType >::ScalarType
template<class TScalarType = double>
typedef AdvancedRigid3DTransform itk::AdvancedRigid3DTransform< TScalarType >::Self
template<class TScalarType = double>
typedef Superclass::SpatialHessianType itk::AdvancedRigid3DTransform< TScalarType >::SpatialHessianType
template<class TScalarType = double>
typedef Superclass::SpatialJacobianType itk::AdvancedRigid3DTransform< TScalarType >::SpatialJacobianType
template<class TScalarType = double>
typedef AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 > itk::AdvancedRigid3DTransform< TScalarType >::Superclass
template<class TScalarType = double>
typedef Superclass::TranslationType itk::AdvancedRigid3DTransform< TScalarType >::TranslationType

Constructor & Destructor Documentation

template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( unsigned int  spaceDim,
unsigned int  paramDim 
) [protected]
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( const MatrixType matrix,
const OutputVectorType offset 
) [protected]
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( ) [protected]
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::~AdvancedRigid3DTransform ( ) [protected]
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( const Self ) [private]

Member Function Documentation

template<class TScalarType = double>
InputPointType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputPointType point) const

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 using the result.
template<class TScalarType = double>
InputVectorType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputVectorType vector) const
template<class TScalarType = double>
InputVnlVectorType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputVnlVectorType vector) const
template<class TScalarType = double>
InputCovariantVectorType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputCovariantVectorType vector) const
template<class TScalarType = double>
virtual const char* itk::AdvancedRigid3DTransform< TScalarType >::GetClassName ( ) const [virtual]
template<class TScalarType = double>
const MatrixType& itk::AdvancedRigid3DTransform< TScalarType >::GetRotationMatrix ( ) [inline]

Get rotation Matrix from an AdvancedRigid3DTransform

This method returns the value of the rotation of the AdvancedRigid3DTransform.

Deprecated:
Use GetMatrix instead

Definition at line 127 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
12   
)
template<class TScalarType = double>
bool itk::AdvancedRigid3DTransform< TScalarType >::MatrixIsOrthogonal ( const MatrixType matrix,
double  tol = 1e-10 
)

Utility function to test if a matrix is orthogonal within a specified tolerance

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

Directly set the rotation matrix of the transform.

Warning:
The input matrix must be orthogonal to within a specified tolerance, else an exception is thrown.
See also:
AdvancedMatrixOffsetTransformBase::SetMatrix()

Reimplemented from itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >.

Reimplemented in itk::AdvancedSimilarity3DTransform< TScalarType >.

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

Set the transformation from a container of parameters This is typically used by optimizers. There are 12 parameters. The first 9 represents the rotation matrix is column-major order and the last 3 represents the translation.

Warning:
The rotation matrix must be orthogonal to within a specified tolerance, else an exception is thrown.
See also:
Transform::SetParameters()
Transform::SetFixedParameters()

Reimplemented from itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >.

Reimplemented in itk::AdvancedVersorTransform< TScalarType >, itk::AdvancedSimilarity3DTransform< TScalarType >, itk::AdvancedVersorRigid3DTransform< TScalarType >, and itk::AdvancedEuler3DTransform< TScalarType >.

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

Set the rotation Matrix of a Rigid3D Transform

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

Deprecated:
Use SetMatrix instead

Reimplemented in itk::AdvancedVersorTransform< TScalarType >, and itk::AdvancedVersorRigid3DTransform< TScalarType >.

Definition at line 140 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
void itk::AdvancedRigid3DTransform< 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.



Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo