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 | Private Attributes
itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage > Class Template Reference

#include <itkCenteredTransformInitializer2.h>

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

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
FixedImageCalculatorType::Pointer 
FixedImageCalculatorPointer
 
typedef ImageMomentsCalculator
< FixedImageType
FixedImageCalculatorType
 
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskPointer
 
typedef Image< unsigned char,
InputSpaceDimension > 
FixedImageMaskType
 
typedef
FixedImageType::ConstPointer 
FixedImagePointer
 
typedef TFixedImage FixedImageType
 
typedef
TransformType::InputPointType 
InputPointType
 
typedef
MovingImageCalculatorType::Pointer 
MovingImageCalculatorPointer
 
typedef ImageMomentsCalculator
< MovingImageType
MovingImageCalculatorType
 
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskPointer
 
typedef Image< unsigned char,
OutputSpaceDimension > 
MovingImageMaskType
 
typedef
MovingImageType::ConstPointer 
MovingImagePointer
 
typedef TMovingImage MovingImageType
 
typedef TransformType::OffsetType OffsetType
 
typedef
TransformType::OutputVectorType 
OutputVectorType
 
typedef SmartPointer< SelfPointer
 
typedef
CenteredTransformInitializer2 
Self
 
typedef Object Superclass
 
typedef TransformType::Pointer TransformPointer
 
typedef TTransform TransformType
 

Public Member Functions

void GeometryOn ()
 
void GeometryTopOn ()
 
virtual const char * GetClassName () const
 
virtual const
FixedImageCalculatorType
GetFixedCalculator ()
 
virtual const
MovingImageCalculatorType
GetMovingCalculator ()
 
virtual void InitializeTransform ()
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension)
 
void MomentsOn ()
 
void OriginsOn ()
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
 
virtual void SetTransform (TransformType *_arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 CenteredTransformInitializer2 ()
 
virtual TransformTypeGetTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
 ~CenteredTransformInitializer2 ()
 

Private Member Functions

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

Private Attributes

FixedImageCalculatorPointer m_FixedCalculator
 
FixedImagePointer m_FixedImage
 
FixedImageMaskPointer m_FixedImageMask
 
MovingImageCalculatorPointer m_MovingCalculator
 
MovingImagePointer m_MovingImage
 
MovingImageMaskPointer m_MovingImageMask
 
TransformPointer m_Transform
 
bool m_UseMoments
 
bool m_UseOrigins
 
bool m_UseTop
 

Detailed Description

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

CenteredTransformInitializer2 is a helper class intended to initialize the center of rotation and the translation of Transforms having the center of rotation among their parameters.

This class is connected to the fixed image, moving image and transform involved in the registration. Three modes of operation are possible:

In the first mode, the geometrical center of the fixed image is passed as initial center of rotation to the transform and the vector from the center of the fixed image to the center of the moving image is passed as the initial translation. This mode basically assumes that the anatomical objects to be registered are centered in their respective images. Hence the best initial guess for the registration is the one that superimposes those two centers.

In the second mode, the moments of gray level values are computed for both images. The center of mass of the moving image is then used as center of rotation. The vector between the two centers of mass is passes as the initial translation to the transform. This second approach assumes that the moments of the anatomical objects are similar for both images and hence the best initial guess for registration is to superimpose both mass centers. Note that this assumption will probably not hold in multi-modality registration.

In the third mode, the vector from the coordinates (0,0,0) of the fixed image to the coordinates (0,0,0) of the moving image is passed as the initial translation T and the geometrical center of the moving image, translated by inv(T), is passed as initial center of rotation to the transform.

In the fourth mode, the world coordinates of the eight corner points of both images are determined. For both images, the minimum of the elements of world coordinates is taken and the initial translation is taken to be the vector pointing from the minimum coordinates of the fixed image to the minimum coordinates of the moving image. The rotation point is set to the center of the fixed image. Note that this method does not make sense for 2D images, in that case the result will be equal to Geometrical method.

Definition at line 77 of file itkCenteredTransformInitializer2.h.

Member Typedef Documentation

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

Definition at line 85 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef FixedImageCalculatorType::Pointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::FixedImageCalculatorPointer

Definition at line 122 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef ImageMomentsCalculator< FixedImageType > itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::FixedImageCalculatorType

Moment calculators

Definition at line 117 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef FixedImageMaskType::ConstPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::FixedImageMaskPointer

Definition at line 112 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef Image< unsigned char, InputSpaceDimension > itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::FixedImageMaskType

Definition at line 110 of file itkCenteredTransformInitializer2.h.

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

Definition at line 107 of file itkCenteredTransformInitializer2.h.

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

Image Types to use in the initialization of the transform

Definition at line 104 of file itkCenteredTransformInitializer2.h.

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

Point type.

Definition at line 131 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef MovingImageCalculatorType::Pointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::MovingImageCalculatorPointer

Definition at line 124 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef ImageMomentsCalculator< MovingImageType > itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::MovingImageCalculatorType

Definition at line 119 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef MovingImageMaskType::ConstPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::MovingImageMaskPointer

Definition at line 113 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
typedef Image< unsigned char, OutputSpaceDimension > itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::MovingImageMaskType

Definition at line 111 of file itkCenteredTransformInitializer2.h.

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

Definition at line 108 of file itkCenteredTransformInitializer2.h.

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

Definition at line 105 of file itkCenteredTransformInitializer2.h.

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

Offset type.

Definition at line 128 of file itkCenteredTransformInitializer2.h.

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

Vector type.

Definition at line 134 of file itkCenteredTransformInitializer2.h.

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

Definition at line 84 of file itkCenteredTransformInitializer2.h.

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

Standard class typedefs.

Definition at line 82 of file itkCenteredTransformInitializer2.h.

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

Definition at line 83 of file itkCenteredTransformInitializer2.h.

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

Definition at line 95 of file itkCenteredTransformInitializer2.h.

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

Type of the transform to initialize

Definition at line 91 of file itkCenteredTransformInitializer2.h.

Constructor & Destructor Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::CenteredTransformInitializer2 ( )
protected
template<class TTransform , class TFixedImage , class TMovingImage >
itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::~CenteredTransformInitializer2 ( )
inlineprotected

Definition at line 165 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::CenteredTransformInitializer2 ( const Self )
private

Member Function Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::GeometryOn ( )
inline

Select between using the geometrical center of the images or using the center of mass given by the image intensities.

Definition at line 154 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::GeometryTopOn ( )
inline

Definition at line 157 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
virtual const char* itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class TTransform , class TFixedImage , class TMovingImage >
virtual const FixedImageCalculatorType* itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::GetFixedCalculator ( )
virtual

Get() access to the moments calculators

template<class TTransform , class TFixedImage , class TMovingImage >
virtual const MovingImageCalculatorType* itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::GetMovingCalculator ( )
virtual
template<class TTransform , class TFixedImage , class TMovingImage >
virtual TransformType* itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::GetTransform ( )
protectedvirtual
template<class TTransform , class TFixedImage , class TMovingImage >
virtual void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::InitializeTransform ( )
virtual

Initialize the transform using data from the images

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

Dimension of parameters.

template<class TTransform , class TFixedImage , class TMovingImage >
itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
TransformType::OutputSpaceDimension   
)
template<class TTransform , class TFixedImage , class TMovingImage >
void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::MomentsOn ( )
inline

Definition at line 155 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
static Pointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::New ( )
static

New macro for creation of through a Smart Pointer.

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::operator= ( const Self )
private
template<class TTransform , class TFixedImage , class TMovingImage >
void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::OriginsOn ( )
inline

Definition at line 156 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TTransform , class TFixedImage , class TMovingImage >
virtual void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::SetFixedImage ( const FixedImageType _arg)
virtual

Set the fixed image used in the registration process

template<class TTransform , class TFixedImage , class TMovingImage >
virtual void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::SetFixedImageMask ( const FixedImageMaskType _arg)
virtual

Mask support.

template<class TTransform , class TFixedImage , class TMovingImage >
virtual void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::SetMovingImage ( const MovingImageType _arg)
virtual

Set the moving image used in the registration process

template<class TTransform , class TFixedImage , class TMovingImage >
virtual void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::SetMovingImageMask ( const MovingImageMaskType _arg)
virtual
template<class TTransform , class TFixedImage , class TMovingImage >
virtual void itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::SetTransform ( TransformType _arg)
virtual

Set the transform to be initialized

Field Documentation

template<class TTransform , class TFixedImage , class TMovingImage >
FixedImageCalculatorPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_FixedCalculator
private

Definition at line 187 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
FixedImagePointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_FixedImage
private

Definition at line 178 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
FixedImageMaskPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_FixedImageMask
private

Definition at line 180 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
MovingImageCalculatorPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_MovingCalculator
private

Definition at line 188 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
MovingImagePointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_MovingImage
private

Definition at line 179 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
MovingImageMaskPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_MovingImageMask
private

Definition at line 181 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
TransformPointer itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_Transform
private

Definition at line 176 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
bool itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_UseMoments
private

Definition at line 183 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
bool itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_UseOrigins
private

Definition at line 184 of file itkCenteredTransformInitializer2.h.

template<class TTransform , class TFixedImage , class TMovingImage >
bool itk::CenteredTransformInitializer2< TTransform, TFixedImage, TMovingImage >::m_UseTop
private

Definition at line 185 of file itkCenteredTransformInitializer2.h.



Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo