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 Self > ConstPointer
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< Self > Pointer
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 ParametersType & GetParameters (void) const
virtual const VersorType & GetVersor ()
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (ParametersDimension, unsigned int, 3)
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 ()

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 Self & operator= (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::AdvancedVersorRigid3DTransform< TScalarType >, and itk::AdvancedSimilarity3DTransform< 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 ( SpaceDimension  ,
unsigned  int,
3   
)
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
3   
)
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
3   
)
template<class TScalarType = double>
itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
3   
)
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::AdvancedVersorRigid3DTransform< TScalarType >, and itk::AdvancedSimilarity3DTransform< 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 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo