ITK
4.12.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: https://hdl.handle.net/1926/510
Definition at line 62 of file itkExponentialDisplacementFieldImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
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< Self > | Pointer |
typedef ExponentialDisplacementFieldImageFilter | Self |
typedef ImageToImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TOutputImage > | Superclass |
Public Types inherited from itk::ImageSource< TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TInputImage::ImageDimension |
static const unsigned int | PixelDimension = InputPixelType::Dimension |
static const unsigned int | OutputPixelDimension = OutputPixelType::Dimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Attributes | |
AdderPointer | m_Adder |
bool | m_AutomaticNumberOfIterations |
CasterPointer | m_Caster |
bool | m_ComputeInverse |
DivideByConstantPointer | m_Divider |
unsigned int | m_MaximumNumberOfIterations |
VectorWarperPointer | m_Warper |
Additional Inherited Members | |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
|
protected |
Definition at line 173 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 166 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 169 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 156 of file itkExponentialDisplacementFieldImageFilter.h.
typedef SmartPointer< const Self > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 70 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 168 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 153 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 172 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 171 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 163 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::ConstPointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Definition at line 81 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Definition at line 80 of file itkExponentialDisplacementFieldImageFilter.h.
typedef TInputImage itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Definition at line 76 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputPixelType::RealValueType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputPixelRealValueType |
Definition at line 83 of file itkExponentialDisplacementFieldImageFilter.h.
typedef InputImageType::PixelType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputPixelType |
Definition at line 82 of file itkExponentialDisplacementFieldImageFilter.h.
typedef OutputImageType::Pointer itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Definition at line 86 of file itkExponentialDisplacementFieldImageFilter.h.
typedef TOutputImage itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 85 of file itkExponentialDisplacementFieldImageFilter.h.
typedef OutputImageType::PixelType itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Definition at line 87 of file itkExponentialDisplacementFieldImageFilter.h.
typedef SmartPointer< Self > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 69 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 148 of file itkExponentialDisplacementFieldImageFilter.h.
typedef ExponentialDisplacementFieldImageFilter itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 67 of file itkExponentialDisplacementFieldImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 68 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 170 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 160 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
|
inlineprotectedvirtual |
Definition at line 139 of file itkExponentialDisplacementFieldImageFilter.h.
|
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 |
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 |
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 |
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 |
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.
|
overrideprotectedvirtual |
Reimplemented from itk::ImageSource< TOutputImage >.
|
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 |
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 |
Specify the maximum number of iteration.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
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 |
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 |
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 |
Specify the maximum number of iteration.
|
static |
Image dimension.
Definition at line 115 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 186 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 176 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 184 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 181 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 183 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 179 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 185 of file itkExponentialDisplacementFieldImageFilter.h.
|
static |
Image dimension.
Definition at line 117 of file itkExponentialDisplacementFieldImageFilter.h.
|
static |
Image dimension.
Definition at line 121 of file itkExponentialDisplacementFieldImageFilter.h.
|
static |
Image dimension.
Definition at line 119 of file itkExponentialDisplacementFieldImageFilter.h.