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::QuaternionRigidTransform< TScalarType > Class Template Reference

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

#include <itkQuaternionRigidTransform.h>

Inheritance diagram for itk::QuaternionRigidTransform< TScalarType >:
Collaboration diagram for itk::QuaternionRigidTransform< TScalarType >:

List of all members.

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::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::OutputVectorValueType 
OutputVectorValueType
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef QuaternionRigidTransform Self
typedef Rigid3DTransform
< TScalarType > 
Superclass
typedef Superclass::TranslationType TranslationType
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
virtual const ParametersTypeGetParameters () const
const VnlQuaternionTypeGetRotation (void) const
virtual void SetIdentity (void)
void SetParameters (const ParametersType &parameters)
void SetRotation (const VnlQuaternionType &rotation)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

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

Protected Member Functions

void ComputeMatrix ()
void ComputeMatrixParameters ()
const InverseMatrixTypeGetInverseMatrix (void) const
void PrintSelf (std::ostream &os, Indent indent) const
 QuaternionRigidTransform ()
 QuaternionRigidTransform (unsigned int paramDims)
 QuaternionRigidTransform (const MatrixType &matrix, const OutputVectorType &offset)
void SetVarRotation (const VnlQuaternionType &rotation)
 ~QuaternionRigidTransform ()

Private Member Functions

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

Private Attributes

VnlQuaternionType m_Rotation

Detailed Description

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

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

This transform applies a rotation and translation to the space given a quaternion and a 3D translation. Rotation is about a user specified center.

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 7 elements. The first 4 elements are the components of the quaternion representation of 3D rotation. 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.

Definition at line 49 of file itkQuaternionRigidTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef Superclass::CenterType itk::QuaternionRigidTransform< TScalarType >::CenterType

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 88 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::QuaternionRigidTransform< TScalarType >::ConstPointer

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 57 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::QuaternionRigidTransform< TScalarType >::InputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 84 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::InputPointType itk::QuaternionRigidTransform< TScalarType >::InputPointType

Standard coordinate point type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 77 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::InputVectorType itk::QuaternionRigidTransform< TScalarType >::InputVectorType

Standard vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 79 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::QuaternionRigidTransform< TScalarType >::InputVnlVectorType

Standard vnl_vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 82 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::InverseMatrixType itk::QuaternionRigidTransform< TScalarType >::InverseMatrixType

Standard inverse matrix type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 87 of file itkQuaternionRigidTransform.h.

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

Jacobian Type

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 75 of file itkQuaternionRigidTransform.h.

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

Standard matrix type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 86 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::OffsetType itk::QuaternionRigidTransform< TScalarType >::OffsetType

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 89 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::QuaternionRigidTransform< TScalarType >::OutputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 85 of file itkQuaternionRigidTransform.h.

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

Standard coordinate point type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 78 of file itkQuaternionRigidTransform.h.

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

Standard vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 80 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputVectorValueType itk::QuaternionRigidTransform< TScalarType >::OutputVectorValueType

Standard vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 81 of file itkQuaternionRigidTransform.h.

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

Standard vnl_vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 83 of file itkQuaternionRigidTransform.h.

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

Parameters Type

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 73 of file itkQuaternionRigidTransform.h.

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

Type of the input parameters.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 74 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef SmartPointer<Self> itk::QuaternionRigidTransform< TScalarType >::Pointer

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 56 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::ScalarType itk::QuaternionRigidTransform< TScalarType >::ScalarType

Standard scalar type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 76 of file itkQuaternionRigidTransform.h.

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

Standard class typedefs.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 54 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Rigid3DTransform<TScalarType> itk::QuaternionRigidTransform< TScalarType >::Superclass

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 55 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef Superclass::TranslationType itk::QuaternionRigidTransform< TScalarType >::TranslationType

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 90 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
typedef vnl_quaternion<TScalarType> itk::QuaternionRigidTransform< TScalarType >::VnlQuaternionType

VnlQuaternion type.

Definition at line 93 of file itkQuaternionRigidTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double>
itk::QuaternionRigidTransform< TScalarType >::QuaternionRigidTransform ( const MatrixType matrix,
const OutputVectorType offset 
) [protected]
template<class TScalarType = double>
itk::QuaternionRigidTransform< TScalarType >::QuaternionRigidTransform ( unsigned int  paramDims) [protected]
template<class TScalarType = double>
itk::QuaternionRigidTransform< TScalarType >::QuaternionRigidTransform ( ) [protected]
template<class TScalarType = double>
itk::QuaternionRigidTransform< TScalarType >::~QuaternionRigidTransform ( ) [inline, protected]

Definition at line 133 of file itkQuaternionRigidTransform.h.

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

Member Function Documentation

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

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

template<class TScalarType = double>
const InverseMatrixType& itk::QuaternionRigidTransform< TScalarType >::GetInverseMatrix ( void  ) const [protected]
Deprecated:
Use GetInverse instead.

Method will eventually be made a protected member function

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

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

Run-time type information (and related methods).

Reimplemented from itk::Rigid3DTransform< TScalarType >.

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

Get the Transformation Parameters.

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

template<class TScalarType = double>
const VnlQuaternionType& itk::QuaternionRigidTransform< TScalarType >::GetRotation ( void  ) const [inline]

Get the rotation from an QuaternionRigidTransform. This method returns the value of the rotation of the QuaternionRigidTransform.

Definition at line 105 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
static Pointer itk::QuaternionRigidTransform< TScalarType >::New ( ) [static]

New macro for creation of through a Smart Pointer

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

Referenced by itk::QuaternionOrientationAdapter< VDimension >::FromDirectionCosines().

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

Mutex lock to protect modification to the reference count

Reimplemented from itk::Rigid3DTransform< TScalarType >.

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

Print contents of an Rigid3DTransform

Reimplemented from itk::Rigid3DTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::QuaternionRigidTransform< TScalarType >::SetIdentity ( void  ) [virtual]

Set the parameters to the IdentityTransform

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

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

Set the transformation from a container of parameters. This is typically used by optimizers. There are 7 parameters. The first four represents the quaternion and the last three represents the offset.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::QuaternionRigidTransform< TScalarType >::SetRotation ( const VnlQuaternionType rotation)

Compute the Jacobian Matrix of the transformation at one point Set the rotation of the rigid transform. This method sets the rotation of a QuaternionRigidTransform to a value specified by the user.

template<class TScalarType = double>
void itk::QuaternionRigidTransform< TScalarType >::SetVarRotation ( const VnlQuaternionType rotation) [inline, protected]

Definition at line 141 of file itkQuaternionRigidTransform.h.


Member Data Documentation

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

Dimension of parameters

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 66 of file itkQuaternionRigidTransform.h.

template<class TScalarType = double>
VnlQuaternionType itk::QuaternionRigidTransform< TScalarType >::m_Rotation [private]

Rotation of the transformation.

Definition at line 155 of file itkQuaternionRigidTransform.h.

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

Dimension of parameters

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 67 of file itkQuaternionRigidTransform.h.

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

Dimension of parameters

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 69 of file itkQuaternionRigidTransform.h.

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

Dimension of parameters

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Definition at line 68 of file itkQuaternionRigidTransform.h.


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