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 parametersprotectedInverseDisplacementFieldImageFilter(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete()virtual itk::simple::InverseDisplacementFieldImageFilter::~InverseDisplacementFieldImageFilter() DestructorImage itk::simple::InverseDisplacementFieldImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected voidfinalize()protected static longgetName()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.longunsigned int itk::simple::InverseDisplacementFieldImageFilter::GetSubsamplingFactor() const Set/Get the factor used for subsampling the input displacement field.voidsetOutputOrigin(VectorDouble OutputOrigin) Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputOrigin(std::vector< double > OutputOrigin) Set the output image origin.voidsetOutputSpacing(VectorDouble OutputSpacing) Self& itk::simple::InverseDisplacementFieldImageFilter::SetOutputSpacing(std::vector< double > OutputSpacing) Set the output image spacing.voidsetReferenceImage(Image refImage) void itk::simple::InverseDisplacementFieldImageFilter::SetReferenceImage(const Image &refImage) This methods sets the output size, origin, and direction to that of the provided imagevoidsetSize(VectorUInt32 Size) Self& itk::simple::InverseDisplacementFieldImageFilter::SetSize(std::vector< uint32_t > Size) Set the size of the output image.voidsetSubsamplingFactor(long SubsamplingFactor) Self& itk::simple::InverseDisplacementFieldImageFilter::SetSubsamplingFactor(unsigned int SubsamplingFactor) Set/Get the factor used for subsampling the input displacement field.protected static longtoString()std::string itk::simple::InverseDisplacementFieldImageFilter::ToString() const Print ourselves outMethods inherited from class org.itk.simple.ImageFilter
getCPtr, swigReleaseMethods 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:
finalizein classImageFilter
-
delete
public void delete()virtual itk::simple::InverseDisplacementFieldImageFilter::~InverseDisplacementFieldImageFilter() Destructor- Overrides:
deletein 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:
getNamein classProcessObject
-
toString
std::string itk::simple::InverseDisplacementFieldImageFilter::ToString() const Print ourselves out- Overrides:
toStringin classProcessObject
-
execute
-
setReferenceImage
void itk::simple::InverseDisplacementFieldImageFilter::SetReferenceImage(const Image &refImage) This methods sets the output size, origin, and direction to that of the provided image
-