itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage > Class Template Reference

AnisotropicSimilarityLandmarkBasedTransformInitializer 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 <itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h>

Inheritance diagram for itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >:
Object

List of all members.

Public Types

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

Public Member Functions

virtual void InitializeTransform ()
 itkNewMacro (Self)
 itkSetObjectMacro (Transform, TransformType)
 itkStaticConstMacro (ImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension)
 itkTypeMacro (AnisotropicSimilarityLandmarkBasedTransformInitializer, Object)
void SetFixedImage (const FixedImageType *image)
void SetFixedLandmarks (const LandmarkPointContainer &fixedLandmarks)
void SetMovingImage (const MovingImageType *image)
void SetMovingLandmarks (const LandmarkPointContainer &movingLandmarks)

Protected Types

enum  InputTransformType { AnisotropicSimilarity3Dtransform = 1, Rigid2Dtransfrom, Else }

Protected Member Functions

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

Private Member Functions

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

Private Attributes

FixedImagePointer m_FixedImage
LandmarkPointContainer m_FixedLandmarks
MovingImagePointer m_MovingImage
LandmarkPointContainer m_MovingLandmarks
TransformPointer m_Transform

Detailed Description

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

AnisotropicSimilarityLandmarkBasedTransformInitializer 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: AnisotropicSimilarity3DTransform

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


Member Typedef Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
typedef AnisotropicSimilarity3DTransform< ParameterValueType > itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::AnisotropicSimilarity3DTransformType

Supported Transform typedefs

template<class TTransform , class TFixedImage , class TMovingImage >
typedef SmartPointer<const Self> itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ConstPointer
template<class TTransform , class TFixedImage , class TMovingImage >
typedef FixedImageType::ConstPointer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::FixedImagePointer
template<class TTransform , class TFixedImage , class TMovingImage >
typedef TFixedImage itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::FixedImageType

Image Types to use in the initialization of the transform

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

Convenience typedefs

template<class TTransform , class TFixedImage , class TMovingImage >
typedef std::vector< LandmarkPointType > itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkPointContainer
template<class TTransform , class TFixedImage , class TMovingImage >
typedef Point< double, itkGetStaticConstMacro(ImageDimension) > itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkPointType
template<class TTransform , class TFixedImage , class TMovingImage >
typedef MovingImageType::ConstPointer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::MovingImagePointer
template<class TTransform , class TFixedImage , class TMovingImage >
typedef TMovingImage itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::MovingImageType
template<class TTransform , class TFixedImage , class TMovingImage >
typedef TransformType::OutputVectorType itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::OutputVectorType
template<class TTransform , class TFixedImage , class TMovingImage >
typedef TransformType::ParametersType itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ParametersType
template<class TTransform , class TFixedImage , class TMovingImage >
typedef ParametersType::ValueType itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ParameterValueType
template<class TTransform , class TFixedImage , class TMovingImage >
typedef SmartPointer<Self> itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Pointer
template<class TTransform , class TFixedImage , class TMovingImage >
typedef LandmarkPointContainer::const_iterator itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::PointsContainerConstIterator
template<class TTransform , class TFixedImage , class TMovingImage >
typedef Rigid2DTransform< ParameterValueType > itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Rigid2DTransformType
template<class TTransform , class TFixedImage , class TMovingImage >
typedef AnisotropicSimilarityLandmarkBasedTransformInitializer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Self

Standard class typedefs.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef Object itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Superclass
template<class TTransform , class TFixedImage , class TMovingImage >
typedef TransformType::Pointer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::TransformPointer
template<class TTransform , class TFixedImage , class TMovingImage >
typedef TTransform itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::TransformType

Type of the transform to initialize


Member Enumeration Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
enum itk::AnisotropicSimilarityLandmarkBasedTransformInitializer::InputTransformType [protected]
Enumerator:
AnisotropicSimilarity3Dtransform 
Rigid2Dtransfrom 
Else 

Constructor & Destructor Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::AnisotropicSimilarityLandmarkBasedTransformInitializer (  )  [protected]
template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::~AnisotropicSimilarityLandmarkBasedTransformInitializer (  )  [inline, protected]
template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::AnisotropicSimilarityLandmarkBasedTransformInitializer ( const Self  )  [private]

Member Function Documentation

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

Initialize the transform from the landmarks

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkNewMacro ( Self   ) 

New macro for creation of through a Smart Pointer.

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkSetObjectMacro ( Transform  ,
TransformType   
)

Set the transform to be initialized

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
FixedImageType::ImageDimension   
)

Determine the image dimension.

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
TransformType::OutputSpaceDimension   
)
template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
TransformType::InputSpaceDimension   
)

Dimension of parameters.

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::itkTypeMacro ( AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >  ,
Object   
)

Run-time type information (and related methods).

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::operator= ( const Self  )  [private]
template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]
template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< 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
template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetFixedLandmarks ( const LandmarkPointContainer fixedLandmarks  )  [inline]

Set the Fixed landmark point containers

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< 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.
template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetMovingLandmarks ( const LandmarkPointContainer movingLandmarks  )  [inline]

Set the Moving landmark point containers


Member Data Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
FixedImagePointer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_FixedImage [private]
template<class TTransform , class TFixedImage , class TMovingImage >
LandmarkPointContainer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_FixedLandmarks [private]
template<class TTransform , class TFixedImage , class TMovingImage >
MovingImagePointer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_MovingImage [private]
template<class TTransform , class TFixedImage , class TMovingImage >
LandmarkPointContainer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_MovingLandmarks [private]
template<class TTransform , class TFixedImage , class TMovingImage >
TransformPointer itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_Transform [private]

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

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1