Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes

cmtk::Xform Class Reference
[cmtkBase Library]

General 3D coordinate transformation. More...

#include <cmtkXform.h>

Inheritance diagram for cmtk::Xform:
Inheritance graph
[legend]
Collaboration diagram for cmtk::Xform:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Xform Self
 This class.
typedef SmartPointer< SelfSmartPtr
 Smart pointer to this class.
typedef SmartConstPointer< SelfSmartConstPtr
 Smart pointer-to-const for this class.
typedef FixedVector
< 3, Types::Coordinate
SpaceVectorType
 Three-dimensional vector type.

Public Member Functions

 Xform (const Xform &other)
 Copy constructor.
 Xform ()
 Default constructor.
virtual ~Xform ()
 Virtual destructor.
virtual bool InDomain (const Self::SpaceVectorType &) const
 Check whether coordinate is in domain of transformation.
virtual Types::Coordinate GetGlobalScaling () const
 Get global scaling factor.
virtual Self::SpaceVectorType Apply (const Self::SpaceVectorType &) const =0
 Apply transformation to vector.
virtual void ApplyInPlace (Self::SpaceVectorType &) const =0
 Apply transformation to vector in-place.
virtual bool ApplyInverse (const Self::SpaceVectorType &, Self::SpaceVectorType &, const Types::Coordinate=0.01) const =0
 Return origin of warped vector.
virtual bool ApplyInverseInPlace (Self::SpaceVectorType &, const Types::Coordinate=0.01) const =0
 Return origin of warped vector.
virtual bool ApplyInverseInPlaceWithInitial (Self::SpaceVectorType &v, const Self::SpaceVectorType &, const Types::Coordinate error=0.01) const
 Return origin of warped vector.
Self::SmartPtr Clone () const
 Clone and return smart pointer.
virtual size_t ParamVectorDim () const
 Return number of coefficients in parameter vector.
virtual size_t VariableParamVectorDim () const
 Get number of variable parameters in parameter vector.
virtual void SetParamVector (CoordinateVector &v)
 Set Xform by parameter vector.
virtual void CopyParamVector (const Xform *other)
 Copy parameter vector from other transformation.
virtual void SetParamVector (const CoordinateVector &v)
 Set the parameter vector.
virtual void SetParameter (const size_t idx, const Types::Coordinate p)
 Set a single parameter value.
virtual Types::Coordinate GetParameter (const size_t idx) const
 Get a single parameter value.
virtual CoordinateVectorGetParamVector (CoordinateVector &v, const size_t targetOffset=0) const
 Copy parameter vector to existing vector object.
virtual Types::Coordinate GetParamStep (const size_t, const Self::SpaceVectorType &, const Types::Coordinate step_mm=1) const
 Get parameter step given a transformed volume size.
virtual Types::Coordinate GetJacobianDeterminant (const Self::SpaceVectorType &) const =0
 Compute Jacobian determinant at a certain location.
virtual Types::Coordinate GetLandmarksMSD (const MatchedLandmarkList *ll) const
 Return registration error for set of source/target landmarks.
virtual void GetVolumeOfInfluence (const size_t idx, const Self::SpaceVectorType &, const Self::SpaceVectorType &, Self::SpaceVectorType &, Self::SpaceVectorType &, const int=-1) const
 Get volume influenced by one parameter.

Public Attributes

Types::Coordinatem_Parameters
 Pointer to warp parameter array.
size_t m_NumberOfParameters
 Total number of parameters, ie. the values in Coefficients.

Protected Member Functions

void AllocateParameterVector (const size_t numberOfParameters)
 Allocate parameter vector.
virtual SelfCloneVirtual () const =0
 Actual virtual clone constructor function.

Protected Attributes

CoordinateVector::SmartPtr m_ParameterVector
 Encapsulated representation of the transformation parameters.

Detailed Description

General 3D coordinate transformation.

Definition at line 56 of file cmtkXform.h.


Member Typedef Documentation

This class.

Reimplemented in cmtk::AffineXform, cmtk::DeformationField, cmtk::SplineWarpXform, and cmtk::WarpXform.

Definition at line 62 of file cmtkXform.h.

Smart pointer-to-const for this class.

Reimplemented in cmtk::AffineXform, cmtk::SplineWarpXform, and cmtk::WarpXform.

Definition at line 68 of file cmtkXform.h.

Smart pointer to this class.

Reimplemented in cmtk::AffineXform, cmtk::DeformationField, cmtk::SplineWarpXform, and cmtk::WarpXform.

Definition at line 65 of file cmtkXform.h.

Three-dimensional vector type.

Definition at line 71 of file cmtkXform.h.


Constructor & Destructor Documentation

cmtk::Xform::Xform ( const Xform other ) [inline]

Copy constructor.

Definition at line 80 of file cmtkXform.h.

References cmtk::META_SPACE, and cmtk::AnatomicalOrientationBase::ORIENTATION_STANDARD.

cmtk::Xform::Xform (  ) [inline]

Default constructor.

Definition at line 90 of file cmtkXform.h.

References cmtk::META_SPACE, and cmtk::AnatomicalOrientationBase::ORIENTATION_STANDARD.

virtual cmtk::Xform::~Xform (  ) [inline, virtual]

Virtual destructor.

Definition at line 98 of file cmtkXform.h.


Member Function Documentation

virtual Self::SpaceVectorType cmtk::Xform::Apply ( const Self::SpaceVectorType  ) const [pure virtual]

Apply transformation to vector.

Implemented in cmtk::AffineXform, and cmtk::WarpXform.

Referenced by cmtk::VolumeInjectionReconstruction::VolumeInjectionAnisotropic().

virtual void cmtk::Xform::ApplyInPlace ( Self::SpaceVectorType  ) const [pure virtual]
virtual bool cmtk::Xform::ApplyInverse ( const Self::SpaceVectorType ,
Self::SpaceVectorType ,
const Types::Coordinate  = 0.01 
) const [pure virtual]

Return origin of warped vector.

Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.

virtual bool cmtk::Xform::ApplyInverseInPlace ( Self::SpaceVectorType ,
const Types::Coordinate  = 0.01 
) const [pure virtual]

Return origin of warped vector.

Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.

virtual bool cmtk::Xform::ApplyInverseInPlaceWithInitial ( Self::SpaceVectorType v,
const Self::SpaceVectorType ,
const Types::Coordinate  error = 0.01 
) const [inline, virtual]

Return origin of warped vector.

Reimplemented in cmtk::SplineWarpXform.

Definition at line 122 of file cmtkXform.h.

Self::SmartPtr cmtk::Xform::Clone (  ) const [inline]

Clone and return smart pointer.

Reimplemented in cmtk::AffineXform, and cmtk::SplineWarpXform.

Definition at line 128 of file cmtkXform.h.

virtual Self* cmtk::Xform::CloneVirtual (  ) const [protected, pure virtual]

Actual virtual clone constructor function.

Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.

virtual void cmtk::Xform::CopyParamVector ( const Xform other ) [inline, virtual]

Copy parameter vector from other transformation.

THERE ARE NO CHECKS WHETHER THE TWO TRANSFORMATIONS MATCH!!

Definition at line 159 of file cmtkXform.h.

References m_ParameterVector.

virtual Types::Coordinate cmtk::Xform::GetGlobalScaling (  ) const [inline, virtual]

Get global scaling factor.

Reimplemented in cmtk::AffineXform, and cmtk::WarpXform.

Definition at line 104 of file cmtkXform.h.

virtual Types::Coordinate cmtk::Xform::GetJacobianDeterminant ( const Self::SpaceVectorType  ) const [pure virtual]

Compute Jacobian determinant at a certain location.

Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.

virtual Types::Coordinate cmtk::Xform::GetParameter ( const size_t  idx ) const [inline, virtual]

Get a single parameter value.

Definition at line 175 of file cmtkXform.h.

virtual Types::Coordinate cmtk::Xform::GetParamStep ( const   size_t,
const Self::SpaceVectorType ,
const Types::Coordinate  step_mm = 1 
) const [inline, virtual]

Get parameter step given a transformed volume size.

Reimplemented in cmtk::AffineXform, cmtk::DeformationField, cmtk::SplineWarpXform, and cmtk::WarpXform.

Definition at line 184 of file cmtkXform.h.

virtual bool cmtk::Xform::InDomain ( const Self::SpaceVectorType  ) const [inline, virtual]

Check whether coordinate is in domain of transformation.

Reimplemented in cmtk::WarpXform.

Definition at line 101 of file cmtkXform.h.

virtual size_t cmtk::Xform::ParamVectorDim (  ) const [inline, virtual]

Return number of coefficients in parameter vector.

Reimplemented in cmtk::AffineXform.

Definition at line 134 of file cmtkXform.h.

virtual void cmtk::Xform::SetParameter ( const size_t  idx,
const Types::Coordinate  p 
) [inline, virtual]

Set a single parameter value.

Reimplemented in cmtk::AffineXform.

Definition at line 169 of file cmtkXform.h.

Referenced by cmtk::AffineXform::SetParameter().

virtual size_t cmtk::Xform::VariableParamVectorDim (  ) const [inline, virtual]

Get number of variable parameters in parameter vector.

The variable parameters are those that may be modified i.e. for an optimization. They are located at the beginning of the complete parameter vector.

Reimplemented in cmtk::AffineXform.

Definition at line 144 of file cmtkXform.h.


Member Data Documentation

Total number of parameters, ie. the values in Coefficients.

Definition at line 77 of file cmtkXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual(), and cmtk::ClassStream::PutWarp().

Encapsulated representation of the transformation parameters.

This vector object contains the parameter array pointed at by the public member Coefficients. The latter is used for more efficient direct access to the parameters where necessary.

Definition at line 207 of file cmtkXform.h.

Referenced by cmtk::AffineXform::AffineXform(), cmtk::SplineWarpXform::CloneVirtual(), CopyParamVector(), cmtk::AffineXform::operator=(), and cmtk::AffineXform::SetParamVector().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines