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 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 ImageFilter
getCPtr, swigReleaseModifier and TypeMethodDescriptionprotected static longgetCPtr(ImageFilter obj) protected static longswigRelease(ImageFilter obj) Methods inherited from class 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, swigReleaseModifier and TypeMethodDescriptionvoidabort()virtual void itk::simple::ProcessObject::Abort() Sets an abort flag on the active process.intaddCommand(EventEnum event, Command cmd) virtual int itk::simple::ProcessObject::AddCommand(itk::simple::EventEnum event, itk::simple::Command &cmd) Add a Command Object to observer the event.voiddebugOff()voiddebugOn()protected static longgetCPtr(ProcessObject obj) booleangetDebug()static doublestatic booleanstatic doublestatic longstatic Stringstatic booleanlonglongfloatvirtual float itk::simple::ProcessObject::GetProgress() const An Active Measurement of the progress of execution.static voidstatic voidstatic voidstatic voidbooleanhasCommand(EventEnum event) virtual bool itk::simple::ProcessObject::HasCommand(itk::simple::EventEnum event) const Query of this object has any registered commands for event.voidvirtual void itk::simple::ProcessObject::RemoveAllCommands() Remove all registered commands.voidsetDebug(boolean debugFlag) static voidsetGlobalDefaultCoordinateTolerance(double arg0) static voidsetGlobalDefaultDebug(boolean debugFlag) static voidsetGlobalDefaultDirectionTolerance(double arg0) static voidsetGlobalDefaultNumberOfThreads(long n) static booleansetGlobalDefaultThreader(String threader) static voidsetGlobalWarningDisplay(boolean flag) voidsetNumberOfThreads(long n) voidsetNumberOfWorkUnits(long n) protected static longswigRelease(ProcessObject obj)
-
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
-