Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Protected Types | Protected Member Functions
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 <Modules/CLI/ExpertAutomatedRegistration/ITKRegistrationHelper/itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h>

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

Public Types

typedef AnisotropicSimilarity3DTransform< ParameterValueTypeAnisotropicSimilarity3DTransformType
 
typedef SmartPointer< const SelfConstPointer
 
typedef FixedImageType::ConstPointer FixedImagePointer
 
typedef TFixedImage FixedImageType
 
typedef TransformType::InputPointType InputPointType
 
typedef std::vector< LandmarkPointTypeLandmarkPointContainer
 
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< ParameterValueTypeRigid2DTransformType
 
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 (InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension)
 
 itkStaticConstMacro (ImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 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 override
 
 ~AnisotropicSimilarityLandmarkBasedTransformInitializer () override
 

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

Definition at line 60 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

Member Typedef Documentation

◆ AnisotropicSimilarity3DTransformType

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

Supported Transform typedefs

Definition at line 145 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ ConstPointer

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

◆ FixedImagePointer

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

◆ FixedImageType

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

Definition at line 88 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ InputPointType

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

Convenience typedefs

Definition at line 122 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ LandmarkPointContainer

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

◆ LandmarkPointType

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

◆ MovingImagePointer

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

◆ MovingImageType

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

◆ OutputVectorType

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

◆ ParametersType

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

◆ ParameterValueType

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

◆ Pointer

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

◆ PointsContainerConstIterator

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

◆ Rigid2DTransformType

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

◆ Self

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

Standard class typedefs.

Definition at line 65 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ Superclass

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

◆ TransformPointer

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

◆ TransformType

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

Type of the transform to initialize

Definition at line 77 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

Member Enumeration Documentation

◆ InputTransformType

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

Definition at line 160 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

Constructor & Destructor Documentation

◆ AnisotropicSimilarityLandmarkBasedTransformInitializer()

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

◆ ~AnisotropicSimilarityLandmarkBasedTransformInitializer()

template<class TTransform , class TFixedImage , class TMovingImage >
itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::~AnisotropicSimilarityLandmarkBasedTransformInitializer ( )
inlineoverrideprotected

Member Function Documentation

◆ InitializeTransform()

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

Initialize the transform from the landmarks

◆ itkNewMacro()

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

New macro for creation of through a Smart Pointer.

◆ itkSetObjectMacro()

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

Set the transform to be initialized

◆ itkStaticConstMacro() [1/3]

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

Dimension of parameters.

◆ itkStaticConstMacro() [2/3]

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

◆ itkStaticConstMacro() [3/3]

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

Determine the image dimension.

◆ itkTypeMacro()

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

◆ PrintSelf()

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetFixedImage()

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

Definition at line 100 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ SetFixedLandmarks()

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetFixedLandmarks ( const LandmarkPointContainer fixedLandmarks)
inline

Set the Fixed landmark point containers

Definition at line 132 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ SetMovingImage()

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.

Definition at line 112 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.

◆ SetMovingLandmarks()

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::AnisotropicSimilarityLandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetMovingLandmarks ( const LandmarkPointContainer movingLandmarks)
inline

Set the Moving landmark point containers

Definition at line 138 of file itkAnisotropicSimilarityLandmarkBasedTransformInitializer.h.


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