itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage > Class Template Reference

Computes a diffeomorphic deformation field as the Lie group exponential of a vector field. More...

#include <itkExponentialDeformationFieldImageFilter.h>

Inheritance diagram for itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >:
ImageToImageFilter

List of all members.

Public Types

typedef AdderType::Pointer AdderPointer
typedef AddImageFilter
< OutputImageType,
OutputImageType,
OutputImageType
AdderType
typedef CasterType::Pointer CasterPointer
typedef CastImageFilter
< InputImageType,
OutputImageType
CasterType
typedef SmartPointer< const SelfConstPointer
typedef
DivideByConstantType::Pointer 
DivideByConstantPointer
typedef
DivideByConstantImageFilter
< InputImageType,
InputPixelRealValueType,
OutputImageType
DivideByConstantType
typedef
FieldInterpolatorType::OutputType 
FieldInterpolatorOutputType
typedef
FieldInterpolatorType::Pointer 
FieldInterpolatorPointer
typedef
VectorLinearInterpolateNearestNeighborExtrapolateImageFunction
< OutputImageType, double > 
FieldInterpolatorType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef
InputPixelType::RealValueType 
InputPixelRealValueType
typedef InputImageType::PixelType InputPixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef TOutputImage OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef SmartPointer< SelfPointer
typedef InputImageType::RegionType RegionType
typedef
ExponentialDeformationFieldImageFilter 
Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass
typedef VectorWarperType::Pointer VectorWarperPointer
typedef WarpVectorImageFilter
< OutputImageType,
OutputImageType,
OutputImageType
VectorWarperType

Public Member Functions

 itkBooleanMacro (AutomaticNumberOfIterations)
 itkGetMacro (AutomaticNumberOfIterations, bool)
 itkGetMacro (MaximumNumberOfIterations, unsigned int)
 itkNewMacro (Self)
 itkSetMacro (AutomaticNumberOfIterations, bool)
 itkSetMacro (MaximumNumberOfIterations, unsigned int)
 itkStaticConstMacro (OutputPixelDimension, unsigned int, OutputPixelType::Dimension)
 itkStaticConstMacro (PixelDimension, unsigned int, InputPixelType::Dimension)
 itkStaticConstMacro (OutputImageDimension, unsigned int, TInputImage::ImageDimension)
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
 itkTypeMacro (ExponentialDeformationFieldImageFilter, ImageToImageFilter)

Protected Member Functions

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

Private Member Functions

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

Private Attributes

AdderPointer m_Adder
bool m_AutomaticNumberOfIterations
CasterPointer m_Caster
DivideByConstantPointer m_Divider
unsigned int m_MaximumNumberOfIterations
VectorWarperPointer m_Warper

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >

Computes a diffeomorphic deformation field as the Lie group exponential of a vector field.

ExponentialDeformationFieldImageFilter takes a 'smooth' vector field as input and computes the deformation field that is its exponential.

Given that both the input and output deformation field are represented as discrete images with pixel type vector, the exponential will be only an estimation and will probably not correspond to a perfect exponential. The precision of the exponential can be improved at the price of increasing the computation time (number of iterations).

The method used for computing the exponential deformation field is an iterative scaling and squaring (cf Arsigny et al., "A Log-Euclidean Framework for Statistics on Diffeomorphisms", MICCAI'06).

\[ exp(\Phi) = exp( \frac{\Phi}{2^N} )^{2^N} \]

This filter expects both the input and output images to be of pixel type Vector.

Author:
Tom Vercauteren, INRIA & Mauna Kea Technologies

Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef AdderType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::AdderPointer
template<class TInputImage , class TOutputImage >
typedef AddImageFilter< OutputImageType, OutputImageType, OutputImageType> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::AdderType
template<class TInputImage , class TOutputImage >
typedef CasterType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::CasterPointer
template<class TInputImage , class TOutputImage >
typedef CastImageFilter<InputImageType, OutputImageType> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::CasterType
template<class TInputImage , class TOutputImage >
typedef SmartPointer<const Self> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef DivideByConstantType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::DivideByConstantPointer
template<class TInputImage , class TOutputImage >
typedef DivideByConstantImageFilter< InputImageType, InputPixelRealValueType, OutputImageType > itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::DivideByConstantType
template<class TInputImage , class TOutputImage >
typedef FieldInterpolatorType::OutputType itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::FieldInterpolatorOutputType
template<class TInputImage , class TOutputImage >
typedef FieldInterpolatorType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::FieldInterpolatorPointer
template<class TInputImage , class TOutputImage >
typedef VectorLinearInterpolateNearestNeighborExtrapolateImageFunction< OutputImageType,double> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::FieldInterpolatorType
template<class TInputImage , class TOutputImage >
typedef InputImageType::ConstPointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImageConstPointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImagePointer
template<class TInputImage , class TOutputImage >
typedef TInputImage itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImageType

Some convenient typedefs.

template<class TInputImage , class TOutputImage >
typedef InputPixelType::RealValueType itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::InputPixelRealValueType
template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::InputPixelType
template<class TInputImage , class TOutputImage >
typedef OutputImageType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputImagePointer
template<class TInputImage , class TOutputImage >
typedef TOutputImage itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputImageType
template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputPixelType
template<class TInputImage , class TOutputImage >
typedef SmartPointer<Self> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::RegionType itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::RegionType
template<class TInputImage , class TOutputImage >
typedef ExponentialDeformationFieldImageFilter itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

template<class TInputImage , class TOutputImage >
typedef ImageToImageFilter<TInputImage,TOutputImage> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::Superclass
template<class TInputImage , class TOutputImage >
typedef VectorWarperType::Pointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::VectorWarperPointer
template<class TInputImage , class TOutputImage >
typedef WarpVectorImageFilter< OutputImageType, OutputImageType, OutputImageType> itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::VectorWarperType

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::ExponentialDeformationFieldImageFilter (  )  [protected]
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::~ExponentialDeformationFieldImageFilter (  )  [inline, protected]
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::ExponentialDeformationFieldImageFilter ( const Self  )  [private]

Member Function Documentation

template<class TInputImage , class TOutputImage >
void itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::GenerateData (  )  [protected]
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkBooleanMacro ( AutomaticNumberOfIterations   ) 
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkGetMacro ( AutomaticNumberOfIterations  ,
bool   
)
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkGetMacro ( MaximumNumberOfIterations  ,
unsigned  int 
)
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkNewMacro ( Self   ) 

Method for creation through the object factory.

template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkSetMacro ( AutomaticNumberOfIterations  ,
bool   
)

If AutomaticNumberOfIterations is off, the number of iterations is given by MaximumNumberOfIterations. If it is on, we try to get the lowest good number (which may not be larger than MaximumNumberOfIterations )

template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkSetMacro ( MaximumNumberOfIterations  ,
unsigned  int 
)

Specify the maximum number of iteration.

template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( OutputPixelDimension  ,
unsigned  int,
OutputPixelType::Dimension   
)
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( PixelDimension  ,
unsigned  int,
InputPixelType::Dimension   
)
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)
template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)

Image dimension.

template<class TInputImage , class TOutputImage >
itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::itkTypeMacro ( ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >  ,
ImageToImageFilter   
)

Run-time type information (and related methods).

template<class TInputImage , class TOutputImage >
void itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::operator= ( const Self  )  [private]
template<class TInputImage , class TOutputImage >
void itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]

Member Data Documentation

template<class TInputImage , class TOutputImage >
AdderPointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::m_Adder [private]
template<class TInputImage , class TOutputImage >
bool itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::m_AutomaticNumberOfIterations [private]
template<class TInputImage , class TOutputImage >
CasterPointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::m_Caster [private]
template<class TInputImage , class TOutputImage >
DivideByConstantPointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::m_Divider [private]
template<class TInputImage , class TOutputImage >
unsigned int itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::m_MaximumNumberOfIterations [private]
template<class TInputImage , class TOutputImage >
VectorWarperPointer itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::m_Warper [private]

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

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1