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

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

#include <itkEuler3DTransform.h>

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

List of all members.

Public Types

typedef Superclass::ScalarType AngleType
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
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef Euler3DTransform Self
typedef Rigid3DTransform
< TScalarType > 
Superclass
typedef Superclass::TranslationType TranslationType

Public Member Functions

virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual ScalarType GetAngleX () const
virtual ScalarType GetAngleY () const
virtual ScalarType GetAngleZ () const
virtual const char * GetNameOfClass () const
const ParametersTypeGetParameters (void) const
virtual void SetIdentity (void)
void SetParameters (const ParametersType &parameters)
void SetRotation (ScalarType angleX, ScalarType angleY, ScalarType angleZ)
virtual void SetComputeZYX (bool _arg)
virtual bool GetComputeZYX () const

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 = 6

Protected Member Functions

void ComputeMatrix (void)
void ComputeMatrixParameters (void)
 Euler3DTransform ()
 Euler3DTransform (unsigned int paramsSpaceDims)
 Euler3DTransform (const MatrixType &matrix, const OutputPointType &offset)
void PrintSelf (std::ostream &os, Indent indent) const
void SetVarRotation (ScalarType angleX, ScalarType angleY, ScalarType angleZ)
 ~Euler3DTransform ()

Private Member Functions

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

Private Attributes

ScalarType m_AngleX
ScalarType m_AngleY
ScalarType m_AngleZ
bool m_ComputeZYX

Detailed Description

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

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

This transform applies a rotation and translation to the space given 3 euler angles 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 6 elements. The first 3 represents three euler angle of rotation respectively about the X, Y and Z axis. 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 48 of file itkEuler3DTransform.h.


Member Typedef Documentation

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

Definition at line 88 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 85 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 56 of file itkEuler3DTransform.h.

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

Standard covariant vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 77 of file itkEuler3DTransform.h.

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

Standard coordinate point type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 81 of file itkEuler3DTransform.h.

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

Standard vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 75 of file itkEuler3DTransform.h.

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

Standard vnl_vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 79 of file itkEuler3DTransform.h.

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

Standard inverse matrix type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 84 of file itkEuler3DTransform.h.

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

Jacobian Type

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 73 of file itkEuler3DTransform.h.

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

Standard matrix type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 83 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 87 of file itkEuler3DTransform.h.

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

Standard covariant vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 78 of file itkEuler3DTransform.h.

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

Standard coordinate point type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 82 of file itkEuler3DTransform.h.

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

Standard vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 76 of file itkEuler3DTransform.h.

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

Standard vnl_vector type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 80 of file itkEuler3DTransform.h.

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

Parameters Type

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 71 of file itkEuler3DTransform.h.

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

Type of the input parameters.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 72 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 55 of file itkEuler3DTransform.h.

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

Standard scalar type for this class

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 74 of file itkEuler3DTransform.h.

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

Standard class typedefs.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 53 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 54 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 86 of file itkEuler3DTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::Euler3DTransform ( const MatrixType matrix,
const OutputPointType offset 
) [protected]
template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::Euler3DTransform ( unsigned int  paramsSpaceDims) [protected]
template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::Euler3DTransform ( ) [protected]
template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::~Euler3DTransform ( ) [inline, protected]

Definition at line 123 of file itkEuler3DTransform.h.

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

Member Function Documentation

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

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::CenteredEuler3DTransform< TScalarType >.

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

Compute the components of the rotation matrix in the superclass.

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

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

template<class TScalarType = double>
virtual ScalarType itk::Euler3DTransform< TScalarType >::GetAngleX ( ) const [virtual]
template<class TScalarType = double>
virtual ScalarType itk::Euler3DTransform< TScalarType >::GetAngleY ( ) const [virtual]
template<class TScalarType = double>
virtual ScalarType itk::Euler3DTransform< TScalarType >::GetAngleZ ( ) const [virtual]
template<class TScalarType = double>
virtual bool itk::Euler3DTransform< TScalarType >::GetComputeZYX ( ) const [virtual]

Set/Get the order of the computation. Default ZXY

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

Run-time type information (and related methods).

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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

Get the Transformation Parameters.

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

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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

New macro for creation of through a Smart Pointer.

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

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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

Mutex lock to protect modification to the reference count

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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

Set/Get the order of the computation. Default ZXY

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

Set the transformation to an Identity

This sets the matrix to identity and the Offset to null.

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

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

Set/Get the transformation from a container of parameters This is typically used by optimizers. There are 6 parameters. The first three represent the angles to rotate around the coordinate axis, and the last three represents the offset.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Euler3DTransform< TScalarType >::SetRotation ( ScalarType  angleX,
ScalarType  angleY,
ScalarType  angleZ 
)

Set the rotational part of the transform.

template<class TScalarType = double>
void itk::Euler3DTransform< TScalarType >::SetVarRotation ( ScalarType  angleX,
ScalarType  angleY,
ScalarType  angleZ 
) [protected]

Set values of angles directly without recomputing other parameters.


Member Data Documentation

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

Dimension of the space.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 66 of file itkEuler3DTransform.h.

template<class TScalarType = double>
ScalarType itk::Euler3DTransform< TScalarType >::m_AngleX [private]

Definition at line 141 of file itkEuler3DTransform.h.

template<class TScalarType = double>
ScalarType itk::Euler3DTransform< TScalarType >::m_AngleY [private]

Definition at line 142 of file itkEuler3DTransform.h.

template<class TScalarType = double>
ScalarType itk::Euler3DTransform< TScalarType >::m_AngleZ [private]

Definition at line 143 of file itkEuler3DTransform.h.

template<class TScalarType = double>
bool itk::Euler3DTransform< TScalarType >::m_ComputeZYX [private]

Definition at line 144 of file itkEuler3DTransform.h.

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

Dimension of the space.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 67 of file itkEuler3DTransform.h.

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

Dimension of the space.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 68 of file itkEuler3DTransform.h.

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

Dimension of the space.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 65 of file itkEuler3DTransform.h.


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