ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkInverseDisplacementFieldImageFilter.h>
Computes the inverse of a displacement field.
InverseDisplacementFieldImageFilter takes a displacement field as input and computes the displacement field that is its inverse. If the input displacement 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 displacement 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 displacement 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 displacement 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 65 of file itkInverseDisplacementFieldImageFilter.h.
typedef SmartPointer< const Self > itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 73 of file itkInverseDisplacementFieldImageFilter.h.
typedef OutputImageType::IndexType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::IndexType |
Image index typedef.
Definition at line 104 of file itkInverseDisplacementFieldImageFilter.h.
typedef InputImageType::ConstPointer itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 77 of file itkInverseDisplacementFieldImageFilter.h.
typedef InputImageType::Pointer itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 76 of file itkInverseDisplacementFieldImageFilter.h.
typedef InputImageType::RegionType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageRegionType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 78 of file itkInverseDisplacementFieldImageFilter.h.
typedef TInputImage itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 75 of file itkInverseDisplacementFieldImageFilter.h.
typedef KernelTransformType::Pointer itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::KernelTransformPointerType |
Definition at line 98 of file itkInverseDisplacementFieldImageFilter.h.
typedef KernelTransform< double, itkGetStaticConstMacro(ImageDimension) > itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::KernelTransformType |
Transform typedef.
Definition at line 97 of file itkInverseDisplacementFieldImageFilter.h.
typedef TOutputImage::PointType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::OriginPointType |
Definition at line 115 of file itkInverseDisplacementFieldImageFilter.h.
typedef OutputImageType::Pointer itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 80 of file itkInverseDisplacementFieldImageFilter.h.
typedef TOutputImage::RegionType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Typedef to describe the output image region type.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 111 of file itkInverseDisplacementFieldImageFilter.h.
typedef TOutputImage itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 79 of file itkInverseDisplacementFieldImageFilter.h.
typedef OutputPixelType::ValueType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputPixelComponentType |
Definition at line 108 of file itkInverseDisplacementFieldImageFilter.h.
typedef TOutputImage::PixelType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Image pixel value typedef.
Definition at line 107 of file itkInverseDisplacementFieldImageFilter.h.
typedef SmartPointer< Self > itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 72 of file itkInverseDisplacementFieldImageFilter.h.
typedef InverseDisplacementFieldImageFilter itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 70 of file itkInverseDisplacementFieldImageFilter.h.
typedef OutputImageType::SizeType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SizeType |
Image size typedef.
Definition at line 101 of file itkInverseDisplacementFieldImageFilter.h.
typedef TOutputImage::SpacingType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SpacingType |
Image spacing typedef
Definition at line 114 of file itkInverseDisplacementFieldImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 71 of file itkInverseDisplacementFieldImageFilter.h.
itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::InverseDisplacementFieldImageFilter | ( | ) | [protected] |
End concept checking
itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::~InverseDisplacementFieldImageFilter | ( | ) | [inline, protected] |
End concept checking
Definition at line 182 of file itkInverseDisplacementFieldImageFilter.h.
itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::InverseDisplacementFieldImageFilter | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::InverseDisplacementFieldImageFilter< 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::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GenerateData | ( | ) | [protected, virtual] |
GenerateData() computes the internal KernelBase spline and resamples the displacement field.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion | ( | ) | [virtual] |
InverseDisplacementFieldImageFilter needs a different input requested region than the output requested region. As such, InverseDisplacementFieldImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation | ( | ) | [virtual] |
InverseDisplacementFieldImageFilter 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 KernelTransformType* itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetKernelTransform | ( | ) | [virtual] |
Get a pointer to the coordinate transform.
unsigned long itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetMTime | ( | void | ) | const [virtual] |
Method Compute the Modified Time based on changed to the components.
Reimplemented from itk::Object.
virtual const char* itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual const OriginPointType& itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetOutputOrigin | ( | ) | [virtual] |
Get the output image origin.
virtual const SpacingType& itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetOutputSpacing | ( | ) | [virtual] |
Get the output image spacing.
virtual const SizeType& itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetSize | ( | ) | [virtual] |
Get the size of the output image.
virtual unsigned int itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::GetSubsamplingFactor | ( | ) | const [virtual] |
Set/Get the factor used for subsampling the input displacement 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 Pointer itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::InverseDisplacementFieldImageFilter< 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::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::PrepareKernelBaseSpline | ( | ) | [protected] |
Subsample the input displacement field and generate the landmarks for the kernel base spline
void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
End concept checking
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetKernelTransform | ( | KernelTransformType * | _arg | ) | [virtual] |
Set the coordinate transformation. Set the KernelBase spline used for resampling the displacement grid.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetOutputOrigin | ( | OriginPointType | _arg | ) | [virtual] |
Set the output image origin.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetOutputOrigin | ( | const double * | values | ) | [virtual] |
Set the output image origin.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetOutputSpacing | ( | SpacingType | _arg | ) | [virtual] |
Set the output image spacing.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetOutputSpacing | ( | const double * | values | ) | [virtual] |
Set the output image spacing.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetSize | ( | SizeType | _arg | ) | [virtual] |
Set the size of the output image.
virtual void itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::SetSubsamplingFactor | ( | unsigned int | _arg | ) | [virtual] |
Set/Get the factor used for subsampling the input displacement 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.
itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::HasNumericTraits< OutputPixelComponentType > | ) |
Begin concept checking This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< OutputPixelComponentType > )
const unsigned int itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::ImageDimension = TOutputImage::ImageDimension [static] |
Number of dimensions.
Definition at line 90 of file itkInverseDisplacementFieldImageFilter.h.
KernelTransformPointerType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_KernelTransform [private] |
Definition at line 202 of file itkInverseDisplacementFieldImageFilter.h.
OriginPointType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_OutputOrigin [private] |
Definition at line 205 of file itkInverseDisplacementFieldImageFilter.h.
SpacingType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_OutputSpacing [private] |
Definition at line 204 of file itkInverseDisplacementFieldImageFilter.h.
SizeType itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_Size [private] |
Definition at line 201 of file itkInverseDisplacementFieldImageFilter.h.
unsigned int itk::InverseDisplacementFieldImageFilter< TInputImage, TOutputImage >::m_SubsamplingFactor [private] |
Definition at line 207 of file itkInverseDisplacementFieldImageFilter.h.