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

#include <itkVersorTransform.h>

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

List of all members.

Public Types

typedef VersorType::ValueType AngleType
typedef VersorType::VectorType AxisType
typedef AxisType::ValueType AxisValueType
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::InverseMatrixType 
InverseMatrixType
typedef Superclass::JacobianType JacobianType
typedef Superclass::MatrixType MatrixType
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 ParametersType::ValueType ParameterValueType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef VersorTransform Self
typedef Rigid3DTransform
< TScalarType > 
Superclass
typedef Versor< TScalarType > VersorType
typedef vnl_quaternion
< TScalarType > 
VnlQuaternionType

Public Member Functions

virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
const ParametersTypeGetParameters (void) const
virtual const VersorTypeGetVersor ()
virtual void SetIdentity (void)
void SetParameters (const ParametersType &parameters)
void SetRotation (const VersorType &versor)
void SetRotation (const AxisType &axis, AngleType angle)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

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

Protected Member Functions

void ComputeMatrix (void)
void ComputeMatrixParameters (void)
void PrintSelf (std::ostream &os, Indent indent) const
virtual void SetRotationMatrix (const MatrixType &matrix)
void SetVarVersor (const VersorType &newVersor)
 ~VersorTransform ()
 VersorTransform (const MatrixType &matrix, const OutputVectorType &offset)
 VersorTransform (unsigned int paramDims)
 VersorTransform ()

Private Member Functions

const Selfoperator= (const Self &)
 VersorTransform (const Self &other)

Private Attributes

VersorType m_Versor

Detailed Description

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

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

This transform applies a rotation to the space. Rotation is about a user specified center.

The serialization of the optimizable parameters is an array of 3 elements representing the right part of the versor.

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

TODO: Need to make sure that the translation parameters in the baseclass cannot be set to non-zero values.

Definition at line 48 of file itkVersorTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef VersorType::ValueType itk::VersorTransform< TScalarType >::AngleType
template<class TScalarType = double>
typedef VersorType::VectorType itk::VersorTransform< TScalarType >::AxisType
template<class TScalarType = double>
typedef AxisType::ValueType itk::VersorTransform< TScalarType >::AxisValueType
template<class TScalarType = double>
typedef Superclass::CenterType itk::VersorTransform< TScalarType >::CenterType
template<class TScalarType = double>
typedef SmartPointer<const Self> itk::VersorTransform< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::VersorTransform< TScalarType >::InputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::InputPointType itk::VersorTransform< TScalarType >::InputPointType
template<class TScalarType = double>
typedef Superclass::InputVectorType itk::VersorTransform< TScalarType >::InputVectorType
template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::VersorTransform< TScalarType >::InputVnlVectorType
template<class TScalarType = double>
typedef Superclass::InverseMatrixType itk::VersorTransform< TScalarType >::InverseMatrixType
template<class TScalarType = double>
typedef Superclass::JacobianType itk::VersorTransform< TScalarType >::JacobianType
template<class TScalarType = double>
typedef Superclass::MatrixType itk::VersorTransform< TScalarType >::MatrixType
template<class TScalarType = double>
typedef Superclass::OffsetType itk::VersorTransform< TScalarType >::OffsetType
template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::VersorTransform< TScalarType >::OutputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::OutputPointType itk::VersorTransform< TScalarType >::OutputPointType
template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::VersorTransform< TScalarType >::OutputVectorType
template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::VersorTransform< TScalarType >::OutputVnlVectorType
template<class TScalarType = double>
typedef Superclass::ParametersType itk::VersorTransform< TScalarType >::ParametersType
template<class TScalarType = double>
typedef ParametersType::ValueType itk::VersorTransform< TScalarType >::ParameterValueType
template<class TScalarType = double>
typedef SmartPointer<Self> itk::VersorTransform< TScalarType >::Pointer
template<class TScalarType = double>
typedef Superclass::ScalarType itk::VersorTransform< TScalarType >::ScalarType
template<class TScalarType = double>
typedef VersorTransform itk::VersorTransform< TScalarType >::Self
template<class TScalarType = double>
typedef Rigid3DTransform<TScalarType> itk::VersorTransform< TScalarType >::Superclass
template<class TScalarType = double>
typedef Versor<TScalarType> itk::VersorTransform< TScalarType >::VersorType
template<class TScalarType = double>
typedef vnl_quaternion<TScalarType> itk::VersorTransform< TScalarType >::VnlQuaternionType

VnlQuaternion Type

Definition at line 89 of file itkVersorTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double>
itk::VersorTransform< TScalarType >::VersorTransform ( const MatrixType matrix,
const OutputVectorType offset 
) [protected]

Construct an VersorTransform object

template<class TScalarType = double>
itk::VersorTransform< TScalarType >::VersorTransform ( unsigned int  paramDims) [protected]

Construct an VersorTransform object

template<class TScalarType = double>
itk::VersorTransform< TScalarType >::VersorTransform ( ) [protected]

Construct an VersorTransform object

template<class TScalarType = double>
itk::VersorTransform< TScalarType >::~VersorTransform ( ) [inline, protected]

Destroy an VersorTransform object

Definition at line 137 of file itkVersorTransform.h.

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

Copy a VersorTransform object


Member Function Documentation

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

Compute the Jacobian of the transformation This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.

Reimplemented in itk::ScaleSkewVersor3DTransform< TScalarType >, itk::ScaleVersor3DTransform< TScalarType >, itk::Similarity3DTransform< TScalarType >, and itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::ComputeMatrix ( void  ) [protected, virtual]
template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::ComputeMatrixParameters ( void  ) [protected, virtual]
template<class TScalarType = double>
virtual::itk::LightObject::Pointer itk::VersorTransform< 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, 3, 3 >.

Reimplemented in itk::ScaleSkewVersor3DTransform< TScalarType >, itk::Similarity3DTransform< TScalarType >, itk::VersorRigid3DTransform< TScalarType >, and itk::ScaleVersor3DTransform< TScalarType >.

template<class TScalarType = double>
virtual const char* itk::VersorTransform< TScalarType >::GetNameOfClass ( ) const [virtual]
template<class TScalarType = double>
const ParametersType& itk::VersorTransform< TScalarType >::GetParameters ( void  ) const [virtual]
template<class TScalarType = double>
virtual const VersorType& itk::VersorTransform< TScalarType >::GetVersor ( ) [virtual]
template<class TScalarType = double>
static Pointer itk::VersorTransform< TScalarType >::New ( ) [static]
template<class TScalarType = double>
const Self& itk::VersorTransform< TScalarType >::operator= ( const Self ) [private]
template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TScalarType = double>
virtual void itk::VersorTransform< TScalarType >::SetIdentity ( void  ) [virtual]
template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::SetParameters ( const ParametersType parameters) [virtual]

Set the transformation from a container of parameters This is typically used by optimizers.

There are 3 parameters. They represent the components of the right part of the versor. This can be seen as the components of the vector parallel to the rotation axis and multiplied by vcl_sin( angle / 2 ).

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::ScaleSkewVersor3DTransform< TScalarType >, itk::Similarity3DTransform< TScalarType >, itk::ScaleVersor3DTransform< TScalarType >, and itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::SetRotation ( const VersorType versor)

Set the rotational part of the transform

template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::SetRotation ( const AxisType axis,
AngleType  angle 
)
template<class TScalarType = double>
virtual void itk::VersorTransform< TScalarType >::SetRotationMatrix ( const MatrixType matrix) [inline, protected, virtual]

This method must be made protected here because it is not a safe way of initializing the Versor

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 143 of file itkVersorTransform.h.

template<class TScalarType = double>
void itk::VersorTransform< TScalarType >::SetVarVersor ( const VersorType newVersor) [inline, protected]

Definition at line 148 of file itkVersorTransform.h.


Member Data Documentation

template<class TScalarType = double>
const unsigned int itk::VersorTransform< TScalarType >::InputSpaceDimension = 3 [static]
template<class TScalarType = double>
VersorType itk::VersorTransform< TScalarType >::m_Versor [private]

Versor containing the rotation

Definition at line 170 of file itkVersorTransform.h.

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

Dimension of parameters

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::Similarity3DTransform< TScalarType >, and itk::VersorRigid3DTransform< TScalarType >.

Definition at line 65 of file itkVersorTransform.h.


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