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

itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage > Class Template Reference
[Transforms]

LandmarkBasedTransformInitializer is a helper class intended to The class computes the transform that aligns the fixed and moving images given a set of landmarks. The class is templated over the Transform type. The transform computed gives the best fit transform that maps the fixed and moving images in a least squares sense. The indices are taken to correspond, so point 1 in the first set will get mapped close to point 1 in the second set, etc. An equal number of fixed and moving landmarks need to be specified using SetFixedLandmarks() SetMovingLandmarks(). Any number of landmarks may be specified. Call InitializeTransform() to initialize the transform. More...

#include <itkLandmarkBasedTransformInitializer.h>

Inheritance diagram for itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LandmarkBasedTransformInitializer Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TTransform TransformType
typedef TransformType::Pointer TransformPointer
typedef TFixedImage FixedImageType
typedef TMovingImage MovingImageType
typedef FixedImageType::ConstPointer FixedImagePointer
typedef MovingImageType::ConstPointer MovingImagePointer
typedef TransformType::InputPointType InputPointType
typedef TransformType::OutputVectorType OutputVectorType
typedef Point< double, itkGetStaticConstMacro(ImageDimension) LandmarkPointType )
typedef std::vector< LandmarkPointTypeLandmarkPointContainer
typedef LandmarkPointContainer::const_iterator PointsContainerConstIterator
typedef TransformType::ParametersType ParametersType
typedef ParametersType::ValueType ParameterValueType
typedef VersorRigid3DTransform<
ParameterValueType
VersorRigid3DTransformType
typedef Rigid2DTransform<
ParameterValueType
Rigid2DTransformType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual void SetTransform (TransformType *_arg)
 itkStaticConstMacro (ImageDimension, unsigned int, FixedImageType::ImageDimension)
void SetFixedLandmarks (LandmarkPointContainer &fixedLandmarks)
void SetMovingLandmarks (LandmarkPointContainer &movingLandmarks)
virtual void InitializeTransform ()
 itkStaticConstMacro (InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension)
void SetFixedImage (const FixedImageType *image)
void SetMovingImage (const MovingImageType *image)

Static Public Member Functions

Pointer New ()

Protected Types

enum  InputTransformType { VersorRigid3Dtransform = 1, Rigid2Dtransfrom, Else }

Protected Member Functions

 LandmarkBasedTransformInitializer ()
 ~LandmarkBasedTransformInitializer ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

template<class TTransform, class TFixedImage, class TMovingImage>
class itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >

LandmarkBasedTransformInitializer is a helper class intended to The class computes the transform that aligns the fixed and moving images given a set of landmarks. The class is templated over the Transform type. The transform computed gives the best fit transform that maps the fixed and moving images in a least squares sense. The indices are taken to correspond, so point 1 in the first set will get mapped close to point 1 in the second set, etc. An equal number of fixed and moving landmarks need to be specified using SetFixedLandmarks() SetMovingLandmarks(). Any number of landmarks may be specified. Call InitializeTransform() to initialize the transform.

Currently, the following transforms are supported by the class: VersorRigid3DTransform Rigid2DTansform

The class is based in part on Hybrid/vtkLandmarkTransform originally implemented in python by David G. Gobbi.

The solution is based on Berthold K. P. Horn (1987), "Closed-form solution of absolute orientation using unit quaternions," http://people.csail.mit.edu/bkph/papers/Absolute_Orientation.pdf

Definition at line 60 of file itkLandmarkBasedTransformInitializer.h.


Member Typedef Documentation

template<class TTransform, class TFixedImage, class TMovingImage>
typedef SmartPointer<const Self> itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ConstPointer
 

Reimplemented from itk::Object.

Definition at line 68 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef FixedImageType::ConstPointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::FixedImagePointer
 

Definition at line 92 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TFixedImage itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::FixedImageType
 

Image Types to use in the initialization of the transform

Definition at line 89 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TransformType::InputPointType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InputPointType
 

Convenience typedefs

Definition at line 128 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef std::vector< LandmarkPointType > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkPointContainer
 

Definition at line 131 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef Point< double, itkGetStaticConstMacro(ImageDimension) itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkPointType)
 

Definition at line 130 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef MovingImageType::ConstPointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::MovingImagePointer
 

Definition at line 93 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TMovingImage itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::MovingImageType
 

Definition at line 90 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TransformType::OutputVectorType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::OutputVectorType
 

Definition at line 129 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TransformType::ParametersType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ParametersType
 

Definition at line 134 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef ParametersType::ValueType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ParameterValueType
 

Definition at line 135 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef SmartPointer<Self> itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Pointer
 

Reimplemented from itk::Object.

Definition at line 67 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef LandmarkPointContainer::const_iterator itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::PointsContainerConstIterator
 

Definition at line 133 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef Rigid2DTransform< ParameterValueType > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Rigid2DTransformType
 

Definition at line 155 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef LandmarkBasedTransformInitializer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Self
 

Standard class typedefs.

Reimplemented from itk::Object.

Definition at line 65 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef Object itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Superclass
 

Reimplemented from itk::Object.

Definition at line 66 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TransformType::Pointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::TransformPointer
 

Definition at line 78 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef TTransform itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::TransformType
 

Type of the transform to initialize

Definition at line 77 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
typedef VersorRigid3DTransform< ParameterValueType > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::VersorRigid3DTransformType
 

Supported Transform typedefs

Definition at line 154 of file itkLandmarkBasedTransformInitializer.h.


Member Enumeration Documentation

template<class TTransform, class TFixedImage, class TMovingImage>
enum itk::LandmarkBasedTransformInitializer::InputTransformType [protected]
 

Enumeration values:
VersorRigid3Dtransform 
Rigid2Dtransfrom 
Else 

Definition at line 168 of file itkLandmarkBasedTransformInitializer.h.


Constructor & Destructor Documentation

template<class TTransform, class TFixedImage, class TMovingImage>
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkBasedTransformInitializer  )  [protected]
 

template<class TTransform, class TFixedImage, class TMovingImage>
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::~LandmarkBasedTransformInitializer  )  [inline, protected]
 

Definition at line 163 of file itkLandmarkBasedTransformInitializer.h.


Member Function Documentation

template<class TTransform, class TFixedImage, class TMovingImage>
virtual const char* itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Object.

template<class TTransform, class TFixedImage, class TMovingImage>
virtual void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InitializeTransform  )  [virtual]
 

Initialize the transform from the landmarks

template<class TTransform, class TFixedImage, class TMovingImage>
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
FixedImageType::ImageDimension 
 

Determine the image dimension.

template<class TTransform, class TFixedImage, class TMovingImage>
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro OutputSpaceDimension  ,
unsigned  int,
TransformType::OutputSpaceDimension 
 

Dimension of parameters.

template<class TTransform, class TFixedImage, class TMovingImage>
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro InputSpaceDimension  ,
unsigned  int,
TransformType::InputSpaceDimension 
 

Dimension of parameters.

template<class TTransform, class TFixedImage, class TMovingImage>
Pointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::New  )  [static]
 

New macro for creation of through a Smart Pointer.

Reimplemented from itk::Object.

template<class TTransform, class TFixedImage, class TMovingImage>
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::Object.

template<class TTransform, class TFixedImage, class TMovingImage>
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetFixedImage const FixedImageType image  )  [inline]
 

Deprecated:
Set the fixed image. The method really doesn't do anything. The goal of this class is to compute the optimal transform, for the templated TransformType between the fixed and moving image grid, given a set of landmarks. Nothing is done with the images themselves. The method will therefore be deprecated and removed

Definition at line 102 of file itkLandmarkBasedTransformInitializer.h.

References itkLegacyBody.

template<class TTransform, class TFixedImage, class TMovingImage>
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetFixedLandmarks LandmarkPointContainer fixedLandmarks  )  [inline]
 

Set the Fixed landmark point containers

Definition at line 140 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetMovingImage const MovingImageType image  )  [inline]
 

Deprecated:
Set the moving image. The method really doesn't do anything. The goal of this class is to compute the optimal transform, for the templated TransformType between the fixed and moving image grid, given a set of landmarks. Nothing is done with the images themselves. The method will therefore be deprecated and removed.

Definition at line 116 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetMovingLandmarks LandmarkPointContainer movingLandmarks  )  [inline]
 

Set the Moving landmark point containers

Definition at line 146 of file itkLandmarkBasedTransformInitializer.h.

template<class TTransform, class TFixedImage, class TMovingImage>
virtual void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetTransform TransformType _arg  )  [virtual]
 

Set the transform to be initialized


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:33:45 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000