ITK
4.12.0
Insight Segmentation and Registration Toolkit
|
#include <itkInverseDeformationFieldImageFilter.h>
Computes the inverse of a deformation field.
InverseDeformationFieldImageFilter takes a deformation field as input and computes the deformation field that is its inverse. If the input deformation field was mapping coordinates from a space A into a space B, the output of this filter will map coordinates from the space B into the space A.
Given that both the input and output deformation field are represented as discrete images with pixel type vector, the inverse will be only an estimation and will probably not correspond to a perfect inverse. The precision of the inverse can be improved at the price of increasing the computation time and memory consumption in this filter.
The method used for computing the inverse deformation field is to subsample the input field using a regular grid and create Kerned-Base Spline in which the reference landmarks are the coordinates of the deformed point and the target landmarks are the negative of the displacement vectors. The kernel-base spline is then used for regularly sampling the output space and recover vector values for every single pixel.
The subsampling factor used for the regular grid of the input field will determine the number of landmarks in the KernelBased spline and therefore it will have a dramatic effect on both the precision of output deformation field and the computational time required for the filter to complete the estimation. A large subsampling factor will result in few landmarks in the KernelBased spline, therefore on fast computation and low precision. A small subsampling factor will result in a large number of landmarks in the KernelBased spline, therefore a large memory consumption, long computation time and high precision for the inverse estimation.
This filter expects both the input and output images to be of pixel type Vector.
Definition at line 70 of file itkInverseDeformationFieldImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef OutputImageType::IndexType | IndexType |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef KernelTransformType::Pointer | KernelTransformPointerType |
typedef KernelTransform < double, itkGetStaticConstMacro(ImageDimension) > | KernelTransformType |
typedef TOutputImage::PointType | OriginPointType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef TOutputImage::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef OutputPixelType::ValueType | OutputPixelComponentType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef InverseDeformationFieldImageFilter | Self |
typedef OutputImageType::SizeType | SizeType |
typedef TOutputImage::SpacingType | SpacingType |
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 = TOutputImage::ImageDimension |
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 | |
KernelTransformPointerType | m_KernelTransform |
OriginPointType | m_OutputOrigin |
SpacingType | m_OutputSpacing |
SizeType | m_Size |
unsigned int | m_SubsamplingFactor |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
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 |
typedef SmartPointer< const Self > itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 78 of file itkInverseDeformationFieldImageFilter.h.
typedef OutputImageType::IndexType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::IndexType |
Image index typedef.
Definition at line 109 of file itkInverseDeformationFieldImageFilter.h.
typedef InputImageType::ConstPointer itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Definition at line 82 of file itkInverseDeformationFieldImageFilter.h.
typedef InputImageType::Pointer itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Definition at line 81 of file itkInverseDeformationFieldImageFilter.h.
typedef InputImageType::RegionType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImageRegionType |
Definition at line 83 of file itkInverseDeformationFieldImageFilter.h.
typedef TInputImage itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::InputImageType |
Definition at line 80 of file itkInverseDeformationFieldImageFilter.h.
typedef KernelTransformType::Pointer itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::KernelTransformPointerType |
Definition at line 103 of file itkInverseDeformationFieldImageFilter.h.
typedef KernelTransform< double, itkGetStaticConstMacro(ImageDimension) > itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::KernelTransformType |
Transform typedef.
Definition at line 102 of file itkInverseDeformationFieldImageFilter.h.
typedef TOutputImage::PointType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::OriginPointType |
Definition at line 120 of file itkInverseDeformationFieldImageFilter.h.
typedef OutputImageType::Pointer itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Definition at line 85 of file itkInverseDeformationFieldImageFilter.h.
typedef TOutputImage::RegionType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Typedef to describe the output image region type.
Definition at line 116 of file itkInverseDeformationFieldImageFilter.h.
typedef TOutputImage itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 84 of file itkInverseDeformationFieldImageFilter.h.
typedef OutputPixelType::ValueType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputPixelComponentType |
Definition at line 113 of file itkInverseDeformationFieldImageFilter.h.
typedef TOutputImage::PixelType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Image pixel value typedef.
Definition at line 112 of file itkInverseDeformationFieldImageFilter.h.
typedef SmartPointer< Self > itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 77 of file itkInverseDeformationFieldImageFilter.h.
typedef InverseDeformationFieldImageFilter itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 75 of file itkInverseDeformationFieldImageFilter.h.
typedef OutputImageType::SizeType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::SizeType |
Image size typedef.
Definition at line 106 of file itkInverseDeformationFieldImageFilter.h.
typedef TOutputImage::SpacingType itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::SpacingType |
Image spacing typedef
Definition at line 119 of file itkInverseDeformationFieldImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 76 of file itkInverseDeformationFieldImageFilter.h.
|
protected |
|
inlineprotected |
Definition at line 186 of file itkInverseDeformationFieldImageFilter.h.
|
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.
|
protectedvirtual |
GenerateData() computes the internal KernelBase spline and resamples the deformation field.
Reimplemented from itk::ImageSource< TOutputImage >.
|
virtual |
InverseDeformationFieldImageFilter needs a different input requested region than the output requested region. As such, InverseDeformationFieldImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
InverseDeformationFieldImageFilter produces an image which is a different size than its input. As such, it needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.
Reimplemented from itk::ProcessObject.
|
virtual |
Get/Set the coordinate transformation. Set the KernelBase spline used for resampling the deformation grid.
|
virtual |
Get/Set the coordinate transformation. Set the KernelBase spline used for resampling the deformation grid.
|
virtual |
Method Compute the Modified Time based on changed to the components.
Reimplemented from itk::Object.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Get the output image origin.
|
virtual |
Get the output image spacing.
|
virtual |
Get the size of the output image.
|
virtual |
Set/Get the factor used for subsampling the input deformation field. A large value in this factor will produce a fast computation of the inverse field but with low precision. A small value of this factor will produce a precise computation of the inverse field at the price of large memory consumption and long computational time.
|
static |
Method for creation through the object factory.
|
protected |
Subsample the input deformation field and generate the landmarks for the kernel base spline
|
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 |
Get/Set the coordinate transformation. Set the KernelBase spline used for resampling the deformation grid.
|
virtual |
Set the output image origin.
|
virtual |
Set the output image origin.
|
virtual |
Set the output image spacing.
|
virtual |
Set the output image spacing.
|
virtual |
Set the size of the output image.
|
virtual |
Set/Get the factor used for subsampling the input deformation field. A large value in this factor will produce a fast computation of the inverse field but with low precision. A small value of this factor will produce a precise computation of the inverse field at the price of large memory consumption and long computational time.
|
static |
Number of dimensions.
Definition at line 95 of file itkInverseDeformationFieldImageFilter.h.
|
private |
Definition at line 204 of file itkInverseDeformationFieldImageFilter.h.
|
private |
Definition at line 207 of file itkInverseDeformationFieldImageFilter.h.
|
private |
Definition at line 206 of file itkInverseDeformationFieldImageFilter.h.
|
private |
Definition at line 201 of file itkInverseDeformationFieldImageFilter.h.
|
private |
Definition at line 209 of file itkInverseDeformationFieldImageFilter.h.