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 | Private Attributes
itk::AdvancedVersorTransform< TScalarType > Class Template Reference

#include <itkAdvancedVersorTransform.h>

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

Public Types

typedef VersorType::ValueType AngleType
typedef VersorType::VectorType AxisType
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 AdvancedVersorTransform Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef
AdvancedRigid3DTransform
< TScalarType > 
Superclass
typedef Versor< TScalarType > VersorType
typedef vnl_quaternion
< TScalarType > 
VnlQuaternionType

Public Member Functions

virtual const char * GetClassName () const
virtual void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
const ParametersTypeGetParameters (void) const
virtual const VersorTypeGetVersor ()
 itkStaticConstMacro (ParametersDimension, unsigned int, 3)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
virtual void SetIdentity (void)
void SetParameters (const ParametersType &parameters)
void SetRotation (const AxisType &axis, AngleType angle)
void SetRotation (const VersorType &versor)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 AdvancedVersorTransform (const MatrixType &matrix, const OutputVectorType &offset)
 AdvancedVersorTransform (unsigned int outputDims, unsigned int paramDims)
 AdvancedVersorTransform ()
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)
 ~AdvancedVersorTransform ()

Private Member Functions

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

Private Attributes

VersorType m_Versor

Detailed Description

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

AdvancedVersorTransform 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.

NB: SK: this class is just to have the AdvancedSimilarity3DTransform. It is not complete.

Definition at line 51 of file itkAdvancedVersorTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef VersorType::ValueType itk::AdvancedVersorTransform< TScalarType >::AngleType
template<class TScalarType = double>
typedef VersorType::VectorType itk::AdvancedVersorTransform< TScalarType >::AxisType
template<class TScalarType = double>
typedef Superclass::CenterType itk::AdvancedVersorTransform< TScalarType >::CenterType
template<class TScalarType = double>
typedef SmartPointer<const Self> itk::AdvancedVersorTransform< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::AdvancedVersorTransform< TScalarType >::InputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::InputPointType itk::AdvancedVersorTransform< TScalarType >::InputPointType
template<class TScalarType = double>
typedef Superclass::InputVectorType itk::AdvancedVersorTransform< TScalarType >::InputVectorType
template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::AdvancedVersorTransform< TScalarType >::InputVnlVectorType
template<class TScalarType = double>
typedef Superclass::InternalMatrixType itk::AdvancedVersorTransform< TScalarType >::InternalMatrixType
template<class TScalarType = double>
typedef Superclass::InverseMatrixType itk::AdvancedVersorTransform< TScalarType >::InverseMatrixType
template<class TScalarType = double>
typedef Superclass ::JacobianOfSpatialHessianType itk::AdvancedVersorTransform< TScalarType >::JacobianOfSpatialHessianType
template<class TScalarType = double>
typedef Superclass ::JacobianOfSpatialJacobianType itk::AdvancedVersorTransform< TScalarType >::JacobianOfSpatialJacobianType
template<class TScalarType = double>
typedef Superclass::JacobianType itk::AdvancedVersorTransform< TScalarType >::JacobianType
template<class TScalarType = double>
typedef Superclass::MatrixType itk::AdvancedVersorTransform< TScalarType >::MatrixType
template<class TScalarType = double>
typedef Superclass ::NonZeroJacobianIndicesType itk::AdvancedVersorTransform< TScalarType >::NonZeroJacobianIndicesType
template<class TScalarType = double>
typedef Superclass::OffsetType itk::AdvancedVersorTransform< TScalarType >::OffsetType
template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::AdvancedVersorTransform< TScalarType >::OutputCovariantVectorType
template<class TScalarType = double>
typedef Superclass::OutputPointType itk::AdvancedVersorTransform< TScalarType >::OutputPointType
template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::AdvancedVersorTransform< TScalarType >::OutputVectorType
template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::AdvancedVersorTransform< TScalarType >::OutputVnlVectorType
template<class TScalarType = double>
typedef Superclass::ParametersType itk::AdvancedVersorTransform< TScalarType >::ParametersType
template<class TScalarType = double>
typedef SmartPointer<Self> itk::AdvancedVersorTransform< TScalarType >::Pointer
template<class TScalarType = double>
typedef Superclass::ScalarType itk::AdvancedVersorTransform< TScalarType >::ScalarType
template<class TScalarType = double>
typedef AdvancedVersorTransform itk::AdvancedVersorTransform< TScalarType >::Self
template<class TScalarType = double>
typedef Superclass::SpatialHessianType itk::AdvancedVersorTransform< TScalarType >::SpatialHessianType
template<class TScalarType = double>
typedef Superclass::SpatialJacobianType itk::AdvancedVersorTransform< TScalarType >::SpatialJacobianType
template<class TScalarType = double>
typedef AdvancedRigid3DTransform< TScalarType > itk::AdvancedVersorTransform< TScalarType >::Superclass
template<class TScalarType = double>
typedef Versor<TScalarType> itk::AdvancedVersorTransform< TScalarType >::VersorType
template<class TScalarType = double>
typedef vnl_quaternion<TScalarType> itk::AdvancedVersorTransform< TScalarType >::VnlQuaternionType

VnlQuaternion Type

Definition at line 103 of file itkAdvancedVersorTransform.h.


Constructor & Destructor Documentation

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

Construct an AdvancedVersorTransform object

template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::AdvancedVersorTransform ( unsigned int  outputDims,
unsigned int  paramDims 
) [protected]
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::AdvancedVersorTransform ( ) [protected]
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::~AdvancedVersorTransform ( ) [inline, protected]

Destroy an AdvancedVersorTransform object

Definition at line 147 of file itkAdvancedVersorTransform.h.

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

Copy a AdvancedVersorTransform object


Member Function Documentation

template<class TScalarType = double>
void itk::AdvancedVersorTransform< TScalarType >::ComputeMatrix ( void  ) [protected, virtual]

Compute Matrix Compute the components of the rotation matrix in the superclass

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

Reimplemented in itk::AdvancedSimilarity3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::AdvancedVersorTransform< TScalarType >::ComputeMatrixParameters ( void  ) [protected, virtual]
template<class TScalarType = double>
virtual const char* itk::AdvancedVersorTransform< TScalarType >::GetClassName ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::AdvancedRigid3DTransform< TScalarType >.

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

template<class TScalarType = double>
virtual void itk::AdvancedVersorTransform< TScalarType >::GetJacobian ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const [virtual]

This method computes the Jacobian matrix of the transformation.

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

template<class TScalarType = double>
const ParametersType& itk::AdvancedVersorTransform< TScalarType >::GetParameters ( void  ) const
template<class TScalarType = double>
virtual const VersorType& itk::AdvancedVersorTransform< TScalarType >::GetVersor ( ) [virtual]
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
static Pointer itk::AdvancedVersorTransform< TScalarType >::New ( ) [static]

New macro for creation of through a Smart Pointer

Reimplemented from itk::AdvancedRigid3DTransform< TScalarType >.

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

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

Set the parameters to the IdentityTransform

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

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

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

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

Set the rotational part of the transform

template<class TScalarType = double>
void itk::AdvancedVersorTransform< TScalarType >::SetRotation ( const AxisType axis,
AngleType  angle 
)
template<class TScalarType = double>
virtual void itk::AdvancedVersorTransform< 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::AdvancedRigid3DTransform< TScalarType >.

Reimplemented in itk::AdvancedVersorRigid3DTransform< TScalarType >.

Definition at line 151 of file itkAdvancedVersorTransform.h.

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

Definition at line 154 of file itkAdvancedVersorTransform.h.


Field Documentation

template<class TScalarType = double>
VersorType itk::AdvancedVersorTransform< TScalarType >::m_Versor [private]

Versor containing the rotation

Definition at line 173 of file itkAdvancedVersorTransform.h.



Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo