ITK
5.0.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 | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageType = TInputImage |
using | InputPixelRealValueType = typename InputPixelType::RealValueType |
using | InputPixelType = typename InputImageType::PixelType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename OutputImageType::PixelType |
using | Pointer = SmartPointer< Self > |
using | Self = ExponentialDisplacementFieldImageFilter |
using | Superclass = ImageToImageFilter< TInputImage, TOutputImage > |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OutputImagePixelType = typename Superclass::OutputImagePixelType |
using | OutputImageRegionType = typename Superclass::OutputImageRegionType |
using | Pointer = SmartPointer< Self > |
using | Self = ImageToImageFilter |
using | Superclass = ImageSource< TOutputImage > |
Public Types inherited from itk::ImageSource< TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
using | OutputImagePixelType = typename OutputImageType::PixelType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | Pointer = SmartPointer< Self > |
using | Self = ImageSource |
using | Superclass = ProcessObject |
Public Types inherited from itk::ProcessObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector< DataObjectIdentifierType > |
using | Pointer = SmartPointer< Self > |
using | Self = ProcessObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
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 constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputPixelDimension = OutputPixelType::Dimension |
static constexpr unsigned int | PixelDimension = InputPixelType::Dimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr 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_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
bool | m_DynamicMultiThreading |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
|
protected |
Definition at line 170 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 163 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 166 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 153 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer< const Self > |
Definition at line 72 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 165 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 150 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 169 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 168 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 160 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageConstPointer = typename InputImageType::ConstPointer |
Definition at line 83 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImagePointer = typename InputImageType::Pointer |
Definition at line 82 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage |
Some convenient type alias.
Definition at line 81 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputPixelRealValueType = typename InputPixelType::RealValueType |
Definition at line 85 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputPixelType = typename InputImageType::PixelType |
Definition at line 84 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 88 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 87 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 89 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer< Self > |
Definition at line 71 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 145 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Self = ExponentialDisplacementFieldImageFilter |
Standard class type aliases.
Definition at line 69 of file itkExponentialDisplacementFieldImageFilter.h.
using itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >::Superclass = ImageToImageFilter< TInputImage, TOutputImage > |
Definition at line 70 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 167 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
Definition at line 157 of file itkExponentialDisplacementFieldImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
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 116 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 181 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 173 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 179 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 176 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 178 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 174 of file itkExponentialDisplacementFieldImageFilter.h.
|
private |
Definition at line 180 of file itkExponentialDisplacementFieldImageFilter.h.
|
static |
Definition at line 117 of file itkExponentialDisplacementFieldImageFilter.h.
|
static |
Definition at line 119 of file itkExponentialDisplacementFieldImageFilter.h.
|
static |
Definition at line 118 of file itkExponentialDisplacementFieldImageFilter.h.