Class InverseDisplacementFieldImageFilter

java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.InverseDisplacementFieldImageFilter

public class InverseDisplacementFieldImageFilter extends ImageFilter
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 . See: itk::simple::InverseDisplacementField for the procedural interface itk::InverseDisplacementFieldImageFilter for the Doxygen on the original ITK class. C++ includes: sitkInverseDisplacementFieldImageFilter.h
  • Constructor Details

    • InverseDisplacementFieldImageFilter

      protected InverseDisplacementFieldImageFilter(long cPtr, boolean cMemoryOwn)
    • InverseDisplacementFieldImageFilter

      public InverseDisplacementFieldImageFilter()
      itk::simple::InverseDisplacementFieldImageFilter::InverseDisplacementFieldImageFilter() Default Constructor that takes no arguments and initializes default parameters
  • Method Details

    • getCPtr

      protected static long getCPtr(InverseDisplacementFieldImageFilter obj)
    • swigRelease

      protected static long swigRelease(InverseDisplacementFieldImageFilter obj)
    • finalize

      protected void finalize()
      Overrides:
      finalize in class ImageFilter
    • delete

      public void delete()
      virtual itk::simple::InverseDisplacementFieldImageFilter::~InverseDisplacementFieldImageFilter() Destructor
      Overrides:
      delete in class ImageFilter
    • setSize

      public void setSize(VectorUInt32 Size)
      Self& itk::simple::InverseDisplacementFieldImageFilter::SetSize(std::vector< uint32_t > Size) Set the size of the output image.
    • getSize

      public VectorUInt32 getSize()
      std::vector<uint32_t> itk::simple::InverseDisplacementFieldImageFilter::GetSize() const Get the size of the output image.
    • setOutputOrigin

      public void setOutputOrigin(VectorDouble OutputOrigin)
      Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputOrigin(std::vector< double > OutputOrigin) Set the output image origin.
    • getOutputOrigin

      public VectorDouble getOutputOrigin()
      std::vector<double> itk::simple::InverseDisplacementFieldImageFilter::GetOutputOrigin() const Get the output image origin.
    • setOutputSpacing

      public void setOutputSpacing(VectorDouble OutputSpacing)
      Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputSpacing(std::vector< double > OutputSpacing) Set the output image spacing.
    • getOutputSpacing

      public VectorDouble getOutputSpacing()
      std::vector<double> itk::simple::InverseDisplacementFieldImageFilter::GetOutputSpacing() const Get the output image spacing.
    • setSubsamplingFactor

      public void setSubsamplingFactor(long SubsamplingFactor)
      Self& itk::simple::InverseDisplacementFieldImageFilter::SetSubsamplingFactor(unsigned int SubsamplingFactor) 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.
    • getSubsamplingFactor

      public long getSubsamplingFactor()
      unsigned int itk::simple::InverseDisplacementFieldImageFilter::GetSubsamplingFactor() const 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.
    • getName

      public String getName()
      std::string itk::simple::InverseDisplacementFieldImageFilter::GetName() const Name of this class
      Overrides:
      getName in class ProcessObject
    • toString

      public String toString()
      std::string itk::simple::InverseDisplacementFieldImageFilter::ToString() const Print ourselves out
      Overrides:
      toString in class ProcessObject
    • execute

      public Image execute(Image image1)
      Image itk::simple::InverseDisplacementFieldImageFilter::Execute(const Image &image1) Execute the filter on the input image
    • setReferenceImage

      public void setReferenceImage(Image refImage)
      void itk::simple::InverseDisplacementFieldImageFilter::SetReferenceImage(const Image &refImage) This methods sets the output size, origin, and direction to that of the provided image