#include <itkInverseDeformationFieldImageFilter.h>
Inheritance diagram for itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >:
Public Types | |
typedef InverseDeformationFieldImageFilter | Self |
typedef ImageToImageFilter< TInputImage, TOutputImage > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef TOutputImage | OutputImageType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef KernelTransform< double, itkGetStaticConstMacro(ImageDimension) | KernelTransformType ) |
typedef KernelTransformType::Pointer | KernelTransformPointerType |
typedef OutputImageType::SizeType | SizeType |
typedef OutputImageType::IndexType | IndexType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef OutputPixelType::ValueType | OutputPixelComponentType |
typedef TOutputImage::RegionType | OutputImageRegionType |
typedef TOutputImage::SpacingType | SpacingType |
typedef TOutputImage::PointType | OriginPointType |
Public Member Functions | |
virtual const char * | GetNameOfClass () const |
itkStaticConstMacro (ImageDimension, unsigned int, TOutputImage::ImageDimension) | |
virtual void | SetKernelTransform (KernelTransformType *_arg) |
virtual KernelTransformType * | GetKernelTransform () |
virtual void | SetSize (SizeType _arg) |
virtual const SizeType & | GetSize () |
virtual const SpacingType & | GetOutputSpacing () |
virtual const OriginPointType & | GetOutputOrigin () |
virtual void | GenerateOutputInformation () |
virtual void | GenerateInputRequestedRegion () |
unsigned long | GetMTime (void) const |
virtual void | SetOutputSpacing (SpacingType _arg) |
virtual void | SetOutputSpacing (const double *values) |
virtual void | SetOutputOrigin (OriginPointType _arg) |
virtual void | SetOutputOrigin (const double *values) |
virtual void | SetSubsamplingFactor (unsigned int _arg) |
virtual unsigned int | GetSubsamplingFactor () |
Static Public Member Functions | |
Pointer | New () |
Protected Member Functions | |
InverseDeformationFieldImageFilter () | |
~InverseDeformationFieldImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | GenerateData () |
void | PrepareKernelBaseSpline () |
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 64 of file itkInverseDeformationFieldImageFilter.h.
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 72 of file itkInverseDeformationFieldImageFilter.h. |
|
Image index typedef. Definition at line 101 of file itkInverseDeformationFieldImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 76 of file itkInverseDeformationFieldImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 75 of file itkInverseDeformationFieldImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 77 of file itkInverseDeformationFieldImageFilter.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 73 of file itkInverseDeformationFieldImageFilter.h. |
|
Definition at line 95 of file itkInverseDeformationFieldImageFilter.h. |
|
Transform typedef.
Definition at line 94 of file itkInverseDeformationFieldImageFilter.h. |
|
Definition at line 112 of file itkInverseDeformationFieldImageFilter.h. |
|
Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 78 of file itkInverseDeformationFieldImageFilter.h. |
|
Typedef to describe the output image region type. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 108 of file itkInverseDeformationFieldImageFilter.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 74 of file itkInverseDeformationFieldImageFilter.h. |
|
Definition at line 105 of file itkInverseDeformationFieldImageFilter.h. |
|
Image pixel value typedef. Definition at line 104 of file itkInverseDeformationFieldImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 71 of file itkInverseDeformationFieldImageFilter.h. |
|
Standard class typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 69 of file itkInverseDeformationFieldImageFilter.h. |
|
Image size typedef. Definition at line 98 of file itkInverseDeformationFieldImageFilter.h. |
|
Image spacing typedef Definition at line 111 of file itkInverseDeformationFieldImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 70 of file itkInverseDeformationFieldImageFilter.h. |
|
|
|
Definition at line 172 of file itkInverseDeformationFieldImageFilter.h. |
|
GenerateData() computes the internal KernelBase spline and resamples the deformation field. Reimplemented from itk::ImageSource< TOutputImage >. |
|
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 >. |
|
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. |
|
Get a pointer to the coordinate transform. |
|
Method Compute the Modified Time based on changed to the components. Reimplemented from itk::Object. |
|
Run-time type information (and related methods). Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
Get the output image origin. |
|
Get the output image spacing. |
|
Get the size of the output image. |
|
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. |
|
Number of dimensions. |
|
Method for creation through the object factory. Reimplemented from itk::Object. |
|
Subsample the input deformation field and generate the landmarks for the kernel base spline |
|
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 >. |
|
Set the coordinate transformation. Set the KernelBase spline used for resampling the deformation grid. |
|
Set the output image origin. |
|
Set the output image origin. |
|
Set the output image spacing. |
|
Set the output image spacing. |
|
Set the size of the output image. |
|
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. |