Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::Euler3DTransform< TScalarType > Class Template Reference
[Transforms]

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

#include <itkEuler3DTransform.h>

Inheritance diagram for itk::Euler3DTransform< TScalarType >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef Euler3DTransform Self
typedef Rigid3DTransform<
TScalarType > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ScalarType ScalarType
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef Superclass::ScalarType AngleType
typedef Superclass::OffsetType OffsetType
typedef Superclass::InputPointType InputPointType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::InputVectorType InputVectorType
typedef Superclass::OutputVectorType OutputVectorType
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
typedef Superclass::InputVnlVectorType InputVnlVectorType
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
typedef Superclass::MatrixType MatrixType

Public Member Functions

virtual const char * GetClassName () const
const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void SetRotationMatrix (const MatrixType &matrix)
virtual void Compose (const Superclass *other, bool pre=false)
virtual void SetIdentity (void)
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 itkStaticConstMacro (ParametersDimension, unsigned int, 6)
void SetParameters (const ParametersType &parameters)
const ParametersTypeGetParameters (void) const
void SetRotation (ScalarType angleX, ScalarType angleY, ScalarType angleZ)
virtual ScalarType GetAngleX ()
virtual ScalarType GetAngleY ()
virtual ScalarType GetAngleZ ()
void SetCenter (const InputPointType &center)
virtual const InputPointTypeGetCenter ()
void SetTranslation (const OutputVectorType &translation)
virtual const OutputVectorTypeGetTranslation ()
virtual void SetComputeZYX (bool _arg)
virtual bool GetComputeZYX ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 Euler3DTransform ()
 Euler3DTransform (unsigned int OutputSpaceDimension, unsigned int ParametersDimension)
 ~Euler3DTransform ()
void PrintSelf (std::ostream &os, Indent indent) const
void ComputeMatrixAndOffset (void)
void ComputeAnglesFromMatrix (void)

Protected Attributes

InputPointType m_Center
OutputVectorType m_Translation

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

Definition at line 34 of file itkEuler3DTransform.h.


Member Typedef Documentation

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

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 64 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 42 of file itkEuler3DTransform.h.

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

CovariantVector type.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 78 of file itkEuler3DTransform.h.

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

Point type.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 70 of file itkEuler3DTransform.h.

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

Vector type.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 74 of file itkEuler3DTransform.h.

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

VnlVector type.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 82 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 62 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 >.

Definition at line 84 of file itkEuler3DTransform.h.

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

Offset type.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 67 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 79 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 71 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 75 of file itkEuler3DTransform.h.

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 83 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 59 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 41 of file itkEuler3DTransform.h.

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

Scalar type.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 56 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 39 of file itkEuler3DTransform.h.

Referenced by itk::Euler3DTransform< TScalarType >::~Euler3DTransform().

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

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

Definition at line 40 of file itkEuler3DTransform.h.


Constructor & Destructor Documentation

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

template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::Euler3DTransform unsigned int  OutputSpaceDimension,
unsigned int  ParametersDimension
[protected]
 

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

Definition at line 138 of file itkEuler3DTransform.h.

References itk::Euler3DTransform< TScalarType >::Self.


Member Function Documentation

template<class TScalarType = double>
virtual void itk::Euler3DTransform< TScalarType >::Compose const Superclass other,
bool  pre = false
[virtual]
 

template<class TScalarType = double>
void itk::Euler3DTransform< TScalarType >::ComputeAnglesFromMatrix void   )  [protected]
 

template<class TScalarType = double>
void itk::Euler3DTransform< TScalarType >::ComputeMatrixAndOffset void   )  [protected]
 

Compute the components of the rotation matrix in the superclass.

template<class TScalarType = double>
virtual ScalarType itk::Euler3DTransform< TScalarType >::GetAngleX  )  [virtual]
 

Set the rotational part of the transform.

template<class TScalarType = double>
virtual ScalarType itk::Euler3DTransform< TScalarType >::GetAngleY  )  [virtual]
 

Set the rotational part of the transform.

template<class TScalarType = double>
virtual ScalarType itk::Euler3DTransform< TScalarType >::GetAngleZ  )  [virtual]
 

Set the rotational part of the transform.

template<class TScalarType = double>
virtual const InputPointType& itk::Euler3DTransform< TScalarType >::GetCenter  )  [virtual]
 

Set the about which the rotation will be applied.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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

Run-time type information (and related methods).

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

template<class TScalarType = double>
virtual bool itk::Euler3DTransform< TScalarType >::GetComputeZYX  )  [virtual]
 

Set/Get the order of the computation. Default ZXY

template<class TScalarType = double>
const JacobianType& itk::Euler3DTransform< TScalarType >::GetJacobian const InputPointType point  )  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 from itk::Rigid3DTransform< TScalarType >.

template<class TScalarType = double>
const ParametersType& itk::Euler3DTransform< TScalarType >::GetParameters void   )  const [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::Transform< TScalarType, 3, 3 >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

template<class TScalarType = double>
virtual const OutputVectorType& itk::Euler3DTransform< TScalarType >::GetTranslation  )  [virtual]
 

Set the transformation translation. This is applied after rotation. Not to be confused with member m_Offset in base class Rigid3DTransform. m_Offset is recomputed to take into account translation to the centre of rotation pre- (negative) and post- (positive) rotation, and the subsequent translation m_Translation.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::itkStaticConstMacro ParametersDimension  ,
unsigned  int,
 

Dimension of parameters.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

template<class TScalarType = double>
itk::Euler3DTransform< TScalarType >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
 

Dimension of parameters.

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

New macro for creation of through a Smart Pointer.

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]
 

Print contents of an Rigid3DTransform

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Euler3DTransform< TScalarType >::SetCenter const InputPointType center  ) 
 

Set the about which the rotation will be applied.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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 parameters to the IdentityTransform

Reimplemented from itk::Rigid3DTransform< TScalarType >.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.

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::Transform< TScalarType, 3, 3 >.

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>
virtual void itk::Euler3DTransform< TScalarType >::SetRotationMatrix const MatrixType matrix  )  [virtual]
 

Set the rotation Matrix of a Rigid3D Transform

This method sets the 3x3 matrix representing a rotation in the transform. The Matrix is expected to be orthogonal with a certain tolerance.

Warning:
This method will throw an exception is the matrix provided as argument is not orthogonal.

Reimplemented from itk::Rigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::Euler3DTransform< TScalarType >::SetTranslation const OutputVectorType translation  ) 
 

Set the transformation translation. This is applied after rotation. Not to be confused with member m_Offset in base class Rigid3DTransform. m_Offset is recomputed to take into account translation to the centre of rotation pre- (negative) and post- (positive) rotation, and the subsequent translation m_Translation.

Reimplemented in itk::CenteredEuler3DTransform< TScalarType >.


Member Data Documentation

template<class TScalarType = double>
InputPointType itk::Euler3DTransform< TScalarType >::m_Center [protected]
 

Definition at line 147 of file itkEuler3DTransform.h.

template<class TScalarType = double>
OutputVectorType itk::Euler3DTransform< TScalarType >::m_Translation [protected]
 

Definition at line 148 of file itkEuler3DTransform.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 30 00:58:15 2005 for ITK by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2000