Package org.itk.simple
Class InverseDisplacementFieldImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.InverseDisplacementFieldImageFilter
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
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::InverseDisplacementFieldImageFilter::InverseDisplacementFieldImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
InverseDisplacementFieldImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete()
virtual itk::simple::InverseDisplacementFieldImageFilter::~InverseDisplacementFieldImageFilter() DestructorImage itk::simple::InverseDisplacementFieldImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
protected static long
getName()
std::string itk::simple::InverseDisplacementFieldImageFilter::GetName() const Name of this classstd::vector<double> itk::simple::InverseDisplacementFieldImageFilter::GetOutputOrigin() const Get the output image origin.std::vector<double> itk::simple::InverseDisplacementFieldImageFilter::GetOutputSpacing() const Get the output image spacing.getSize()
std::vector<uint32_t> itk::simple::InverseDisplacementFieldImageFilter::GetSize() const Get the size of the output image.long
unsigned int itk::simple::InverseDisplacementFieldImageFilter::GetSubsamplingFactor() const Set/Get the factor used for subsampling the input displacement field.void
setOutputOrigin
(VectorDouble OutputOrigin) Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputOrigin(std::vector< double > OutputOrigin) Set the output image origin.void
setOutputSpacing
(VectorDouble OutputSpacing) Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputSpacing(std::vector< double > OutputSpacing) Set the output image spacing.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 imagevoid
setSize
(VectorUInt32 Size) Self& itk::simple::InverseDisplacementFieldImageFilter::SetSize(std::vector< uint32_t > Size) Set the size of the output image.void
setSubsamplingFactor
(long SubsamplingFactor) Self& itk::simple::InverseDisplacementFieldImageFilter::SetSubsamplingFactor(unsigned int SubsamplingFactor) Set/Get the factor used for subsampling the input displacement field.protected static long
toString()
std::string itk::simple::InverseDisplacementFieldImageFilter::ToString() const Print ourselves outMethods inherited from class org.itk.simple.ImageFilter
getCPtr, swigRelease
Methods inherited from class org.itk.simple.ProcessObject
abort, addCommand, debugOff, debugOn, getCPtr, getDebug, getGlobalDefaultCoordinateTolerance, getGlobalDefaultDebug, getGlobalDefaultDirectionTolerance, getGlobalDefaultNumberOfThreads, getGlobalDefaultThreader, getGlobalWarningDisplay, getNumberOfThreads, getNumberOfWorkUnits, getProgress, globalDefaultDebugOff, globalDefaultDebugOn, globalWarningDisplayOff, globalWarningDisplayOn, hasCommand, removeAllCommands, setDebug, setGlobalDefaultCoordinateTolerance, setGlobalDefaultDebug, setGlobalDefaultDirectionTolerance, setGlobalDefaultNumberOfThreads, setGlobalDefaultThreader, setGlobalWarningDisplay, setNumberOfThreads, setNumberOfWorkUnits, swigRelease
-
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
-
swigRelease
-
finalize
protected void finalize()- Overrides:
finalize
in classImageFilter
-
delete
public void delete()virtual itk::simple::InverseDisplacementFieldImageFilter::~InverseDisplacementFieldImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setSize
Self& itk::simple::InverseDisplacementFieldImageFilter::SetSize(std::vector< uint32_t > Size) Set the size of the output image. -
getSize
std::vector<uint32_t> itk::simple::InverseDisplacementFieldImageFilter::GetSize() const Get the size of the output image. -
setOutputOrigin
Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputOrigin(std::vector< double > OutputOrigin) Set the output image origin. -
getOutputOrigin
std::vector<double> itk::simple::InverseDisplacementFieldImageFilter::GetOutputOrigin() const Get the output image origin. -
setOutputSpacing
Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputSpacing(std::vector< double > OutputSpacing) Set the output image spacing. -
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
std::string itk::simple::InverseDisplacementFieldImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::InverseDisplacementFieldImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::InverseDisplacementFieldImageFilter::Execute(const Image &image1) Execute the filter on the input image -
setReferenceImage
void itk::simple::InverseDisplacementFieldImageFilter::SetReferenceImage(const Image &refImage) This methods sets the output size, origin, and direction to that of the provided image
-