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

itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField > Class Template Reference
[Deformable Registration Methods]

Framework for perfoming multi-resolution PDE deformable registration. More...

#include <itkMultiResolutionPDEDeformableRegistration.h>

Inheritance diagram for itk::MultiResolutionPDEDeformableRegistration:

Inheritance graph
[legend]
Collaboration diagram for itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MultiResolutionPDEDeformableRegistration Self
typedef ImageToImageFilter<
TDeformationField, TDeformationField > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TFixedImage FixedImageType
typedef FixedImageType::Pointer FixedImagePointer
typedef FixedImageType::ConstPointer FixedImageConstPointer
typedef TMovingImage MovingImageType
typedef MovingImageType::Pointer MovingImagePointer
typedef MovingImageType::ConstPointer MovingImageConstPointer
typedef TDeformationField DeformationFieldType
typedef DeformationFieldType::Pointer DeformationFieldPointer
typedef Image< float, itkGetStaticConstMacro(ImageDimension) FloatImageType )
typedef PDEDeformableRegistrationFilter<
FloatImageType, FloatImageType,
DeformationFieldType
RegistrationType
typedef RegistrationType::Pointer RegistrationPointer
typedef DemonsRegistrationFilter<
FloatImageType, FloatImageType,
DeformationFieldType
DefaultRegistrationType
typedef MultiResolutionPyramidImageFilter<
FixedImageType, FloatImageType
FixedImagePyramidType
typedef FixedImagePyramidType::Pointer FixedImagePyramidPointer
typedef MultiResolutionPyramidImageFilter<
MovingImageType, FloatImageType
MovingImagePyramidType
typedef MovingImagePyramidType::Pointer MovingImagePyramidPointer
typedef VectorExpandImageFilter<
DeformationFieldType, DeformationFieldType
FieldExpanderType
typedef FieldExpanderType::Pointer FieldExpanderPointer

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, FixedImageType::ImageDimension)
virtual void SetFixedImage (const FixedImageType *ptr)
const FixedImageTypeGetFixedImage (void)
virtual void SetMovingImage (const MovingImageType *ptr)
const MovingImageTypeGetMovingImage (void)
const DeformationFieldTypeGetDeformationField (void)
virtual void SetRegistrationFilter (RegistrationType *_arg)
virtual RegistrationTypeGetRegistrationFilter ()
virtual void SetFixedImagePyramid (FixedImagePyramidType *_arg)
virtual FixedImagePyramidTypeGetFixedImagePyramid ()
virtual void SetMovingImagePyramid (MovingImagePyramidType *_arg)
virtual MovingImagePyramidTypeGetMovingImagePyramid ()
virtual void SetNumberOfLevels (unsigned int num)
virtual unsigned int GetNumberOfLevels ()
virtual unsigned int GetCurrentLevel ()
virtual void SetNumberOfIterations (unsigned int data[])
virtual const unsigned int * GetNumberOfIterations () const
virtual void SetInitialDeformationField (DeformationFieldType *)

Static Public Methods

Pointer New ()

Protected Methods

 MultiResolutionPDEDeformableRegistration ()
 ~MultiResolutionPDEDeformableRegistration ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void GenerateData ()
virtual void GenerateInputRequestedRegion ()
virtual void GenerateOutputInformation ()
virtual void EnlargeOutputRequestedRegion (DataObject *ptr)

Detailed Description

template<class TFixedImage, class TMovingImage, class TDeformationField>
class itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >

Framework for perfoming multi-resolution PDE deformable registration.

MultiResolutionPDEDeformableRegistration provides a generic framework to peform multi-resolution deformable registration.

At each resolution level a PDEDeformableRegistrationFilter is used to register two images by computing the deformation field which will map a moving image onto a fixed image.

A deformation field is represented as a image whose pixel type is some vector type with at least N elements, where N is the dimension of the fixed image. The vector type must support element access via operator []. It is assumed that the vector elements behave like floating point scalars.

The internal PDEDeformationRegistrationFilter can be set using SetRegistrationFilter. By default a DemonsRegistrationFilter is used.

The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively. An initial deformation field maybe set via SetInitialDeformationField or SetInput. If no initial field is set a zero field is used as the initial condition.

MultiResolutionPyramidImageFilters are used to downsample the fixed and moving images. A VectorExpandImageFilter is used to upsample the deformation as we move from a coarse to fine solution.

This class is templated over the fixed image type, moving image type, the Deformation Field type.

Warning:
This class assumes that the fixed, moving and deformation field image types all have the same number of dimensions.
See also:
PDEDeformableRegistrationFilter , DemonsRegistrationFilter , MultiResolutionPyramidImageFilter , VectorExpandImageFilter
The current implementation of this class does not support streaming.

Definition at line 76 of file itkMultiResolutionPDEDeformableRegistration.h.


Member Typedef Documentation

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef SmartPointer<const Self> itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::ConstPointer
 

Reimplemented from itk::ImageToImageFilter< TDeformationField, TDeformationField >.

Definition at line 86 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef DemonsRegistrationFilter< FloatImageType, FloatImageType, DeformationFieldType > itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::DefaultRegistrationType
 

The default registration type.

Definition at line 123 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef DeformationFieldType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::DeformationFieldPointer
 

Definition at line 107 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef TDeformationField itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::DeformationFieldType
 

Deformation field image type.

Definition at line 106 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef FieldExpanderType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FieldExpanderPointer
 

Definition at line 138 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::~MultiResolutionPDEDeformableRegistration().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef VectorExpandImageFilter< DeformationFieldType, DeformationFieldType > itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FieldExpanderType
 

The deformation field expander type.

Definition at line 137 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef FixedImageType::ConstPointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImageConstPointer
 

Definition at line 98 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef FixedImageType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImagePointer
 

Definition at line 97 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef FixedImagePyramidType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImagePyramidPointer
 

Definition at line 128 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::~MultiResolutionPDEDeformableRegistration().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef MultiResolutionPyramidImageFilter< FixedImageType, FloatImageType > itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImagePyramidType
 

The fixed multi-resolution image pyramid type.

Definition at line 127 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetDeformationField().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef TFixedImage itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImageType
 

Fixed image type.

Definition at line 96 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef Image<float,itkGetStaticConstMacro(ImageDimension) itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FloatImageType)
 

Internal float image type.

Definition at line 114 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef MovingImageType::ConstPointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImageConstPointer
 

Definition at line 103 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef MovingImageType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImagePointer
 

Definition at line 102 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef MovingImagePyramidType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImagePyramidPointer
 

Definition at line 133 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::~MultiResolutionPDEDeformableRegistration().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef MultiResolutionPyramidImageFilter< MovingImageType, FloatImageType > itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImagePyramidType
 

The moving multi-resolution image pyramid type.

Definition at line 132 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetDeformationField().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef TMovingImage itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImageType
 

Moving image type.

Definition at line 101 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef SmartPointer<Self> itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::Pointer
 

Reimplemented from itk::ImageToImageFilter< TDeformationField, TDeformationField >.

Definition at line 85 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef RegistrationType::Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::RegistrationPointer
 

Definition at line 119 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::~MultiResolutionPDEDeformableRegistration().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef PDEDeformableRegistrationFilter< FloatImageType, FloatImageType, DeformationFieldType > itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::RegistrationType
 

The internal registration type.

Definition at line 118 of file itkMultiResolutionPDEDeformableRegistration.h.

Referenced by itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetDeformationField().

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef MultiResolutionPDEDeformableRegistration itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::Self
 

Standard class typedefs

Reimplemented from itk::ImageToImageFilter< TDeformationField, TDeformationField >.

Definition at line 82 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
typedef ImageToImageFilter<TDeformationField, TDeformationField> itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::Superclass
 

Reimplemented from itk::ImageToImageFilter< TDeformationField, TDeformationField >.

Definition at line 84 of file itkMultiResolutionPDEDeformableRegistration.h.


Constructor & Destructor Documentation

template<class TFixedImage, class TMovingImage, class TDeformationField>
itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MultiResolutionPDEDeformableRegistration   [protected]
 

template<class TFixedImage, class TMovingImage, class TDeformationField>
itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::~MultiResolutionPDEDeformableRegistration   [inline, protected]
 

Definition at line 200 of file itkMultiResolutionPDEDeformableRegistration.h.

References itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FieldExpanderPointer, itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImagePyramidPointer, itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImagePyramidPointer, and itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::RegistrationPointer.


Member Function Documentation

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::EnlargeOutputRequestedRegion DataObject   ptr [protected, virtual]
 

The current implementation of this class does not supprot streaming. As such it produces the output for the largest possible region.

Reimplemented from itk::ProcessObject.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GenerateData   [protected, virtual]
 

Generate output data by performing the registration at each resolution level.

Reimplemented from itk::ImageSource< TDeformationField >.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GenerateInputRequestedRegion   [protected, virtual]
 

The current implementation of this class does not support streaming. As such it requires the largest possible region for the moving, fixed and input deformation field.

Reimplemented from itk::ImageToImageFilter< TDeformationField, TDeformationField >.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GenerateOutputInformation   [protected, virtual]
 

By default, the output deformation field has the same spacing, origin and LargestPossibleRegion as the input/initial deformation field.

If the initial deformation field is not set, the output information is copied from the fixed image.

Reimplemented from itk::ProcessObject.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual const char* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetClassName   const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TDeformationField, TDeformationField >.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual unsigned int itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetCurrentLevel   [virtual]
 

Get the current resolution level being processed.

template<class TFixedImage, class TMovingImage, class TDeformationField>
const DeformationFieldType* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetDeformationField void    [inline]
 

Get output deformation field.

Definition at line 161 of file itkMultiResolutionPDEDeformableRegistration.h.

References itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::FixedImagePyramidType, itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::MovingImagePyramidType, and itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::RegistrationType.

template<class TFixedImage, class TMovingImage, class TDeformationField>
const FixedImageType* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetFixedImage void   
 

Get the fixed image.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual FixedImagePyramidType* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetFixedImagePyramid   [virtual]
 

Get the fixed image pyramid.

template<class TFixedImage, class TMovingImage, class TDeformationField>
const MovingImageType* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetMovingImage void   
 

Get the moving image.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual MovingImagePyramidType* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetMovingImagePyramid   [virtual]
 

Get the moving image pyramid.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual const unsigned int* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetNumberOfIterations   const [inline, virtual]
 

Get number of iterations per multi-resolution levels.

Definition at line 195 of file itkMultiResolutionPDEDeformableRegistration.h.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual unsigned int itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetNumberOfLevels   [virtual]
 

Get number of multi-resolution levels.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual RegistrationType* itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::GetRegistrationFilter   [virtual]
 

Get the internal registrator.

template<class TFixedImage, class TMovingImage, class TDeformationField>
itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::itkStaticConstMacro ImageDimension   ,
unsigned    int,
FixedImageType::ImageDimension   
 

ImageDimension.

template<class TFixedImage, class TMovingImage, class TDeformationField>
Pointer itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::New   [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage, class TMovingImage, class TDeformationField>
void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::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::ImageToImageFilter< TDeformationField, TDeformationField >.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetFixedImage const FixedImageType   ptr [virtual]
 

Set the fixed image.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetFixedImagePyramid FixedImagePyramidType   _arg [virtual]
 

Set the fixed image pyramid.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetInitialDeformationField DeformationFieldType   [inline, virtual]
 

Set initial deformation field.

Definition at line 153 of file itkMultiResolutionPDEDeformableRegistration.h.

References itkExceptionMacro.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetMovingImage const MovingImageType   ptr [virtual]
 

Set the moving image.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetMovingImagePyramid MovingImagePyramidType   _arg [virtual]
 

Set the moving image pyramid.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetNumberOfIterations unsigned int    data[] [virtual]
 

Set number of iterations per multi-resolution levels.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetNumberOfLevels unsigned int    num [virtual]
 

Set number of multi-resolution levels.

template<class TFixedImage, class TMovingImage, class TDeformationField>
virtual void itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >::SetRegistrationFilter RegistrationType   _arg [virtual]
 

Set the internal registrator.


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:47:28 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000