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

#include <itkAdvancedRigid3DTransform.h>

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

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::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 AdvancedRigid3DTransform Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef
AdvancedMatrixOffsetTransformBase
< TScalarType, 3, 3 > 
Superclass
typedef Superclass::TranslationType TranslationType
- Public Types inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
typedef InputPointType 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 Matrix< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
InverseMatrixType
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
typedef Superclass::JacobianType JacobianType
typedef Matrix< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
typedef OutputVectorType 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
AdvancedMatrixOffsetTransformBase 
Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef AdvancedTransform
< TScalarType,
NInputDimensions,
NOutputDimensions > 
Superclass
typedef OutputVectorType TranslationType
- Public Types inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
typedef SmartPointer< const SelfConstPointer
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
typedef Superclass::InputPointType InputPointType
typedef Superclass::InputVectorType InputVectorType
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
typedef
SpatialJacobianType::InternalMatrixType 
InternalMatrixType
typedef std::vector
< SpatialHessianType
JacobianOfSpatialHessianType
typedef std::vector
< SpatialJacobianType
JacobianOfSpatialJacobianType
typedef Superclass::JacobianType JacobianType
typedef std::vector< unsigned
long > 
NonZeroJacobianIndicesType
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 AdvancedTransform Self
typedef FixedArray< Matrix
< ScalarType,
InputSpaceDimension,
InputSpaceDimension >
, OutputSpaceDimension > 
SpatialHessianType
typedef Matrix< ScalarType,
OutputSpaceDimension,
InputSpaceDimension > 
SpatialJacobianType
typedef Transform< TScalarType,
NInputDimensions,
NOutputDimensions > 
Superclass

Public Member Functions

InputPointType BackTransform (const OutputPointType &point) const
InputVectorType BackTransform (const OutputVectorType &vector) const
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
virtual const char * GetClassName () const
const MatrixTypeGetRotationMatrix ()
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 itkStaticConstMacro (ParametersDimension, unsigned int, 12)
bool MatrixIsOrthogonal (const MatrixType &matrix, double tol=1e-10)
virtual void SetMatrix (const MatrixType &matrix)
virtual void SetParameters (const ParametersType &parameters)
virtual void SetRotationMatrix (const MatrixType &matrix)
void Translate (const OffsetType &offset, bool pre=false)
- Public Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
void Compose (const Self *other, bool pre=0)
const InputPointTypeGetCenter (void) const
virtual const ParametersTypeGetFixedParameters (void) const
bool GetInverse (Self *inverse) const
const InverseMatrixTypeGetInverseMatrix (void) const
const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
virtual void GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual void GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
virtual void GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
const MatrixTypeGetMatrix (void) const
const OutputVectorTypeGetOffset (void) const
const ParametersTypeGetParameters (void) const
virtual void GetSpatialHessian (const InputPointType &, SpatialHessianType &) const
virtual void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const
const OutputVectorTypeGetTranslation (void) const
virtual bool IsLinear (void) const
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 itkStaticConstMacro (ParametersDimension, unsigned int, NOutputDimensions *(NInputDimensions+1))
void SetCenter (const InputPointType &center)
virtual void SetFixedParameters (const ParametersType &)
virtual void SetIdentity (void)
void SetOffset (const OutputVectorType &offset)
void SetTranslation (const OutputVectorType &translation)
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const
OutputPointType TransformPoint (const InputPointType &point) const
OutputVectorType TransformVector (const InputVectorType &vector) const
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const
- Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
virtual bool GetHasNonZeroSpatialHessian () const
virtual unsigned long GetNumberOfNonZeroJacobianIndices (void) const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 AdvancedRigid3DTransform (unsigned int spaceDim, unsigned int paramDim)
 AdvancedRigid3DTransform (const MatrixType &matrix, const OutputVectorType &offset)
 AdvancedRigid3DTransform ()
void PrintSelf (std::ostream &os, Indent indent) const
 ~AdvancedRigid3DTransform ()
- Protected Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
 AdvancedMatrixOffsetTransformBase (const MatrixType &matrix, const OutputVectorType &offset)
 AdvancedMatrixOffsetTransformBase (unsigned int outputDims, unsigned int paramDims)
 AdvancedMatrixOffsetTransformBase ()
virtual void ComputeMatrix (void)
virtual void ComputeMatrixParameters (void)
virtual void ComputeOffset (void)
virtual void ComputeTranslation (void)
const InverseMatrixTypeGetVarInverseMatrix (void) const
bool InverseMatrixIsOld (void) const
virtual void PrecomputeJacobians (unsigned int outputDims, unsigned int paramDims)
void SetVarCenter (const InputPointType &center)
void SetVarInverseMatrix (const InverseMatrixType &matrix) const
void SetVarMatrix (const MatrixType &matrix)
void SetVarOffset (const OutputVectorType &offset)
void SetVarTranslation (const OutputVectorType &translation)
virtual ~AdvancedMatrixOffsetTransformBase ()
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
 AdvancedTransform ()
 AdvancedTransform (unsigned int Dimension, unsigned int NumberOfParameters)
virtual ~AdvancedTransform ()

Private Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
JacobianOfSpatialHessianType m_JacobianOfSpatialHessian
JacobianOfSpatialJacobianType m_JacobianOfSpatialJacobian
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
SpatialHessianType m_SpatialHessian

Detailed Description

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

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

This transform applies a rotation and translation in 3D space. The transform is specified as a rotation matrix around a arbitrary center and is followed by a translation.

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 12 elements. The first 9 parameters represents the rotation matrix in column-major order (where the column index varies the fastest). 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 in each dimension.

Definition at line 49 of file itkAdvancedRigid3DTransform.h.

Member Typedef Documentation

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

Definition at line 86 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 57 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 77 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 82 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 74 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 80 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef Superclass::InternalMatrixType itk::AdvancedRigid3DTransform< TScalarType >::InternalMatrixType

Definition at line 98 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 85 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef Superclass ::JacobianOfSpatialHessianType itk::AdvancedRigid3DTransform< TScalarType >::JacobianOfSpatialHessianType

Definition at line 97 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef Superclass ::JacobianOfSpatialJacobianType itk::AdvancedRigid3DTransform< TScalarType >::JacobianOfSpatialJacobianType

Definition at line 94 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 72 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 84 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef Superclass ::NonZeroJacobianIndicesType itk::AdvancedRigid3DTransform< TScalarType >::NonZeroJacobianIndicesType

Definition at line 91 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 88 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 79 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 83 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 75 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 81 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 71 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 56 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 73 of file itkAdvancedRigid3DTransform.h.

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

Standard class typedefs.

Definition at line 54 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef Superclass::SpatialHessianType itk::AdvancedRigid3DTransform< TScalarType >::SpatialHessianType

Definition at line 95 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef Superclass::SpatialJacobianType itk::AdvancedRigid3DTransform< TScalarType >::SpatialJacobianType

Definition at line 92 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
typedef AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 > itk::AdvancedRigid3DTransform< TScalarType >::Superclass

Definition at line 55 of file itkAdvancedRigid3DTransform.h.

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

Definition at line 87 of file itkAdvancedRigid3DTransform.h.

Constructor & Destructor Documentation

template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( unsigned int  spaceDim,
unsigned int  paramDim 
)
protected
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( const MatrixType matrix,
const OutputVectorType offset 
)
protected
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( )
protected
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::~AdvancedRigid3DTransform ( )
protected
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::AdvancedRigid3DTransform ( const Self )
private

Member Function Documentation

template<class TScalarType = double>
InputPointType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputPointType point) const

Back transform by an affine transformation

This method finds the point or vector that maps to a given point or vector under the affine transformation defined by self. If no such point exists, an exception is thrown.

Deprecated:
Please use GetInverseTransform and then call the forward transform using the result.
template<class TScalarType = double>
InputVectorType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputVectorType vector) const
template<class TScalarType = double>
InputVnlVectorType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputVnlVectorType vector) const
template<class TScalarType = double>
InputCovariantVectorType itk::AdvancedRigid3DTransform< TScalarType >::BackTransform ( const OutputCovariantVectorType vector) const
template<class TScalarType = double>
virtual const char* itk::AdvancedRigid3DTransform< TScalarType >::GetClassName ( ) const
virtual
template<class TScalarType = double>
const MatrixType& itk::AdvancedRigid3DTransform< TScalarType >::GetRotationMatrix ( )
inline

Get rotation Matrix from an AdvancedRigid3DTransform

This method returns the value of the rotation of the AdvancedRigid3DTransform.

Deprecated:
Use GetMatrix instead

Definition at line 127 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::AdvancedRigid3DTransform< TScalarType >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
12   
)
template<class TScalarType = double>
bool itk::AdvancedRigid3DTransform< TScalarType >::MatrixIsOrthogonal ( const MatrixType matrix,
double  tol = 1e-10 
)

Utility function to test if a matrix is orthogonal within a specified tolerance

template<class TScalarType = double>
static Pointer itk::AdvancedRigid3DTransform< TScalarType >::New ( )
static
template<class TScalarType = double>
void itk::AdvancedRigid3DTransform< TScalarType >::operator= ( const Self )
private
template<class TScalarType = double>
void itk::AdvancedRigid3DTransform< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = double>
virtual void itk::AdvancedRigid3DTransform< TScalarType >::SetMatrix ( const MatrixType matrix)
virtual

Directly set the rotation matrix of the transform.

Warning
The input matrix must be orthogonal to within a specified tolerance, else an exception is thrown.
See Also
AdvancedMatrixOffsetTransformBase::SetMatrix()

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

Reimplemented in itk::AdvancedSimilarity3DTransform< TScalarType >.

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

Set the transformation from a container of parameters This is typically used by optimizers. There are 12 parameters. The first 9 represents the rotation matrix is column-major order and the last 3 represents the translation.

Warning
The rotation matrix must be orthogonal to within a specified tolerance, else an exception is thrown.
See Also
Transform::SetParameters()
Transform::SetFixedParameters()

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

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

template<class TScalarType = double>
virtual void itk::AdvancedRigid3DTransform< TScalarType >::SetRotationMatrix ( const MatrixType matrix)
inlinevirtual

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.

Deprecated:
Use SetMatrix instead

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

Definition at line 140 of file itkAdvancedRigid3DTransform.h.

template<class TScalarType = double>
void itk::AdvancedRigid3DTransform< TScalarType >::Translate ( const OffsetType offset,
bool  pre = false 
)

Compose the transformation with a translation

This method modifies self to include a translation of the origin. The translation is precomposed with self if pre is true, and postcomposed otherwise.



Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo