ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkExponentialDisplacementFieldImageFilter.h>
Computes a diffeomorphic displacement field as the Lie group exponential of a vector field.
ExponentialDisplacementFieldImageFilter takes a 'smooth' vector field as input and computes the displacement field that is its exponential.
Given that both the input and output displacement 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 displacement field is an iterative scaling and squaring (cf Arsigny et al., "A Log-Euclidean Framework for Statistics on Diffeomorphisms", MICCAI'06).
This filter expects both the input and output images to be of pixel type Vector.
This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/510
Definition at line 63 of file itkExponentialDisplacementFieldImageFilter.h.
typedef AdderType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::AdderPointer [protected] |
Definition at line 174 of file itkExponentialDisplacementFieldImageFilter.h.
typedef AddImageFilter< OutputImageType, OutputImageType, OutputImageType > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::AdderType [protected] |
Definition at line 167 of file itkExponentialDisplacementFieldImageFilter.h.
typedef CasterType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::CasterPointer [protected] |
Definition at line 170 of file itkExponentialDisplacementFieldImageFilter.h.
typedef CastImageFilter< InputImageType, OutputImageType > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::CasterType [protected] |
Definition at line 157 of file itkExponentialDisplacementFieldImageFilter.h.
typedef SmartPointer< const Self > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 71 of file itkExponentialDisplacementFieldImageFilter.h.
typedef DivideByConstantType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::DivideByConstantPointer [protected] |
Definition at line 169 of file itkExponentialDisplacementFieldImageFilter.h.
typedef DivideImageFilter< InputImageType, itk::Image<InputPixelRealValueType, ImageDimension>, OutputImageType > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::DivideByConstantType [protected] |
Definition at line 154 of file itkExponentialDisplacementFieldImageFilter.h.
typedef FieldInterpolatorType::OutputType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::FieldInterpolatorOutputType [protected] |
Definition at line 173 of file itkExponentialDisplacementFieldImageFilter.h.
typedef FieldInterpolatorType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::FieldInterpolatorPointer [protected] |
Definition at line 172 of file itkExponentialDisplacementFieldImageFilter.h.
typedef VectorLinearInterpolateNearestNeighborExtrapolateImageFunction< OutputImageType, double > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::FieldInterpolatorType [protected] |
Definition at line 164 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::ConstPointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 82 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 81 of file itkExponentialDisplacementFieldImageFilter.h.
typedef TInputImage itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 77 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputPixelType::RealValueType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputPixelRealValueType |
Definition at line 84 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::PixelType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputPixelType |
Definition at line 83 of file itkExponentialDisplacementFieldImageFilter.h.
typedef OutputImageType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 87 of file itkExponentialDisplacementFieldImageFilter.h.
typedef TOutputImage itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 86 of file itkExponentialDisplacementFieldImageFilter.h.
typedef OutputImageType::PixelType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Definition at line 88 of file itkExponentialDisplacementFieldImageFilter.h.
typedef SmartPointer< Self > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 70 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::RegionType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::RegionType [protected] |
Definition at line 149 of file itkExponentialDisplacementFieldImageFilter.h.
typedef ExponentialDisplacementFieldImageFilter itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 68 of file itkExponentialDisplacementFieldImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 69 of file itkExponentialDisplacementFieldImageFilter.h.
typedef VectorWarperType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::VectorWarperPointer [protected] |
Definition at line 171 of file itkExponentialDisplacementFieldImageFilter.h.
typedef WarpVectorImageFilter< OutputImageType, OutputImageType, OutputImageType > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::VectorWarperType [protected] |
Definition at line 161 of file itkExponentialDisplacementFieldImageFilter.h.
itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ExponentialDisplacementFieldImageFilter | ( | ) | [protected] |
End concept checking
virtual itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::~ExponentialDisplacementFieldImageFilter | ( | ) | [inline, protected, virtual] |
Definition at line 140 of file itkExponentialDisplacementFieldImageFilter.h.
itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ExponentialDisplacementFieldImageFilter | ( | const Self & | ) | [private] |
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::AutomaticNumberOfIterationsOff | ( | ) | [virtual] |
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 )
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::AutomaticNumberOfIterationsOn | ( | ) | [virtual] |
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 )
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ComputeInverseOff | ( | ) | [virtual] |
If ComputeInverse is on, the filter will compute the exponential of the opposite (minus) of the input vector field. The output displacement fields computed with ComputeInverse set to on and off respectively therefore represent spatial transformations that are inverses of each other.
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ComputeInverseOn | ( | ) | [virtual] |
If ComputeInverse is on, the filter will compute the exponential of the opposite (minus) of the input vector field. The output displacement fields computed with ComputeInverse set to on and off respectively therefore represent spatial transformations that are inverses of each other.
virtual::itk::LightObject::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::GenerateData | ( | ) | [protected, virtual] |
Reimplemented from itk::ImageSource< TOutputImage >.
virtual bool itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetAutomaticNumberOfIterations | ( | ) | const [virtual] |
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 )
virtual bool itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetComputeInverse | ( | ) | const [virtual] |
If ComputeInverse is on, the filter will compute the exponential of the opposite (minus) of the input vector field. The output displacement fields computed with ComputeInverse set to on and off respectively therefore represent spatial transformations that are inverses of each other.
virtual unsigned int itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetMaximumNumberOfIterations | ( | ) | const [virtual] |
Specify the maximum number of iteration.
virtual const char* itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
static Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::operator= | ( | const Self & | ) | [private] |
PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::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< TInputImage, TOutputImage >.
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetAutomaticNumberOfIterations | ( | bool | _arg | ) | [virtual] |
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 )
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetComputeInverse | ( | bool | _arg | ) | [virtual] |
If ComputeInverse is on, the filter will compute the exponential of the opposite (minus) of the input vector field. The output displacement fields computed with ComputeInverse set to on and off respectively therefore represent spatial transformations that are inverses of each other.
virtual void itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetMaximumNumberOfIterations | ( | unsigned int | _arg | ) | [virtual] |
Specify the maximum number of iteration.
itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::HasNumericTraits< typename OutputPixelType::ValueType > | ) |
Begin concept checking This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename OutputPixelType::ValueType > )
itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::SameDimension< ImageDimension, OutputImageDimension > | ) |
This class requires SameDimensionCheck1 in the form of ( Concept::SameDimension< ImageDimension, OutputImageDimension > )
itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::SameDimension< ImageDimension, PixelDimension > | ) |
This class requires SameDimensionCheck2 in the form of ( Concept::SameDimension< ImageDimension, PixelDimension > )
itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::SameDimension< ImageDimension, OutputPixelDimension > | ) |
This class requires SameDimensionCheck3 in the form of ( Concept::SameDimension< ImageDimension, OutputPixelDimension > )
const unsigned int itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension [static] |
Image dimension.
Definition at line 116 of file itkExponentialDisplacementFieldImageFilter.h.
AdderPointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_Adder [private] |
Definition at line 189 of file itkExponentialDisplacementFieldImageFilter.h.
bool itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_AutomaticNumberOfIterations [private] |
Definition at line 181 of file itkExponentialDisplacementFieldImageFilter.h.
CasterPointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_Caster [private] |
Definition at line 187 of file itkExponentialDisplacementFieldImageFilter.h.
bool itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_ComputeInverse [private] |
Definition at line 184 of file itkExponentialDisplacementFieldImageFilter.h.
DivideByConstantPointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_Divider [private] |
Definition at line 186 of file itkExponentialDisplacementFieldImageFilter.h.
unsigned int itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_MaximumNumberOfIterations [private] |
Definition at line 182 of file itkExponentialDisplacementFieldImageFilter.h.
VectorWarperPointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_Warper [private] |
Definition at line 188 of file itkExponentialDisplacementFieldImageFilter.h.
const unsigned int itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImageDimension = TInputImage::ImageDimension [static] |
Image dimension.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 118 of file itkExponentialDisplacementFieldImageFilter.h.
const unsigned int itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputPixelDimension = OutputPixelType::Dimension [static] |
Image dimension.
Definition at line 122 of file itkExponentialDisplacementFieldImageFilter.h.
const unsigned int itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::PixelDimension = InputPixelType::Dimension [static] |
Image dimension.
Definition at line 120 of file itkExponentialDisplacementFieldImageFilter.h.