Package org.itk.simple
Class FastMarchingUpwindGradientImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.FastMarchingUpwindGradientImageFilter
Generates the upwind gradient field of fast marching arrival times.
This filter adds some extra functionality to its base class. While the
solution T(x) of the Eikonal equation is being generated by the base
class with the fast marching method, the filter generates the upwind
gradient vectors of T(x), storing them in an image.
Since the Eikonal equation generates the arrival times of a wave
traveling at a given speed, the generated gradient vectors can be
interpreted as the slowness (1/velocity) vectors of the front (the
quantity inside the modulus operator in the Eikonal equation).
Gradient vectors are computed using upwind finite differences, that
is, information only propagates from points where the wavefront has
already passed. This is consistent with how the fast marching method
works.
One more extra feature is the possibility to define a set of Target
points where the propagation stops. This can be used to avoid
computing the Eikonal solution for the whole domain. The front can be
stopped either when one Target point is reached or all Target points
are reached. The propagation can stop after a time TargetOffset has
passed since the stop condition is met. This way the solution is
computed a bit downstream the Target points, so that the level sets of
T(x) corresponding to the Target are smooth.
For an alternative implementation, see itk::FastMarchingUpwindGradientImageFilterBase .
Luca Antiga Ph.D. Biomedical Technologies Laboratory, Bioengineering
Department, Mario Negri Institute, Italy.
See:
itk::simple::FastMarchingUpwindGradient for the procedural interface
itk::FastMarchingUpwindGradientImageFilter for the Doxygen on the original ITK class.
C++ includes: sitkFastMarchingUpwindGradientImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::FastMarchingUpwindGradientImageFilter::FastMarchingUpwindGradientImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
FastMarchingUpwindGradientImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addTargetPoint
(VectorUInt32 point) Self& itk::simple::FastMarchingUpwindGradientImageFilter::AddTargetPoint(std::vector< unsigned int > point) Add TargetPoints point.void
addTrialPoint
(VectorUInt32 point) Self& itk::simple::FastMarchingUpwindGradientImageFilter::AddTrialPoint(std::vector< unsigned int > point) Add TrialPoints point.void
Self& itk::simple::FastMarchingUpwindGradientImageFilter::ClearTargetPoints() Remove all TargetPoints points.void
Self& itk::simple::FastMarchingUpwindGradientImageFilter::ClearTrialPoints() Remove all TrialPoints points.void
delete()
virtual itk::simple::FastMarchingUpwindGradientImageFilter::~FastMarchingUpwindGradientImageFilter() DestructorImage itk::simple::FastMarchingUpwindGradientImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
protected static long
Image itk::simple::FastMarchingUpwindGradientImageFilter::GetGradientImage() const Get the gradient image.std::vector<double> itk::simple::FastMarchingUpwindGradientImageFilter::GetInitialTrialValues() constgetName()
std::string itk::simple::FastMarchingUpwindGradientImageFilter::GetName() const Name of this classdouble
double itk::simple::FastMarchingUpwindGradientImageFilter::GetNormalizationFactor() const Set/Get the Normalization Factor for the Speed Image .long
unsigned int itk::simple::FastMarchingUpwindGradientImageFilter::GetNumberOfTargets() const Get the number of targets.double
double itk::simple::FastMarchingUpwindGradientImageFilter::GetTargetOffset() const Get the TargetOffset ivar.std::vector< std::vector< unsigned int > > itk::simple::FastMarchingUpwindGradientImageFilter::GetTargetPoints() const Get the container of Target Points.double
double itk::simple::FastMarchingUpwindGradientImageFilter::GetTargetValue() const Get the arrival time corresponding to the last reached target.std::vector< std::vector< unsigned int > > itk::simple::FastMarchingUpwindGradientImageFilter::GetTrialPoints() constvoid
setInitialTrialValues
(VectorDouble InitialTrialValues) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetInitialTrialValues(std::vector< double > InitialTrialValues) Set the initial seed values for corresponding trial point.void
setNormalizationFactor
(double NormalizationFactor) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetNormalizationFactor(double NormalizationFactor) Set/Get the Normalization Factor for the Speed Image .void
setNumberOfTargets
(long NumberOfTargets) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetNumberOfTargets(unsigned int NumberOfTargets)void
setTargetOffset
(double TargetOffset) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetTargetOffset(double TargetOffset) Set how long (in terms of arrival times) after targets are reached the front must stop.void
setTargetPoints
(VectorUIntList TargetPoints) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetTargetPoints(std::vector< std::vector< unsigned int > > TargetPoints) Set the container of Target Points.void
setTrialPoints
(VectorUIntList TrialPoints) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetTrialPoints(std::vector< std::vector< unsigned int > > TrialPoints)protected static long
toString()
std::string itk::simple::FastMarchingUpwindGradientImageFilter::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
-
FastMarchingUpwindGradientImageFilter
protected FastMarchingUpwindGradientImageFilter(long cPtr, boolean cMemoryOwn) -
FastMarchingUpwindGradientImageFilter
public FastMarchingUpwindGradientImageFilter()itk::simple::FastMarchingUpwindGradientImageFilter::FastMarchingUpwindGradientImageFilter() 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::FastMarchingUpwindGradientImageFilter::~FastMarchingUpwindGradientImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setTrialPoints
Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetTrialPoints(std::vector< std::vector< unsigned int > > TrialPoints) -
getTrialPoints
std::vector< std::vector< unsigned int > > itk::simple::FastMarchingUpwindGradientImageFilter::GetTrialPoints() const -
addTrialPoint
Self& itk::simple::FastMarchingUpwindGradientImageFilter::AddTrialPoint(std::vector< unsigned int > point) Add TrialPoints point. -
clearTrialPoints
public void clearTrialPoints()Self& itk::simple::FastMarchingUpwindGradientImageFilter::ClearTrialPoints() Remove all TrialPoints points. -
setNumberOfTargets
public void setNumberOfTargets(long NumberOfTargets) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetNumberOfTargets(unsigned int NumberOfTargets) -
getNumberOfTargets
public long getNumberOfTargets()unsigned int itk::simple::FastMarchingUpwindGradientImageFilter::GetNumberOfTargets() const Get the number of targets. -
setTargetPoints
Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetTargetPoints(std::vector< std::vector< unsigned int > > TargetPoints) Set the container of Target Points. If a target point is reached, the propagation stops. Trial points are represented as a VectorContainer of LevelSetNodes. -
getTargetPoints
std::vector< std::vector< unsigned int > > itk::simple::FastMarchingUpwindGradientImageFilter::GetTargetPoints() const Get the container of Target Points. -
addTargetPoint
Self& itk::simple::FastMarchingUpwindGradientImageFilter::AddTargetPoint(std::vector< unsigned int > point) Add TargetPoints point. -
clearTargetPoints
public void clearTargetPoints()Self& itk::simple::FastMarchingUpwindGradientImageFilter::ClearTargetPoints() Remove all TargetPoints points. -
setTargetOffset
public void setTargetOffset(double TargetOffset) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetTargetOffset(double TargetOffset) Set how long (in terms of arrival times) after targets are reached the front must stop. This is useful to ensure that the level set of target arrival time is smooth. -
getTargetOffset
public double getTargetOffset()double itk::simple::FastMarchingUpwindGradientImageFilter::GetTargetOffset() const Get the TargetOffset ivar. -
setNormalizationFactor
public void setNormalizationFactor(double NormalizationFactor) Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetNormalizationFactor(double NormalizationFactor) Set/Get the Normalization Factor for the Speed Image . The values in the Speed Image is divided by this factor. This allows the use of images with integer pixel types to represent the speed. -
getNormalizationFactor
public double getNormalizationFactor()double itk::simple::FastMarchingUpwindGradientImageFilter::GetNormalizationFactor() const Set/Get the Normalization Factor for the Speed Image . The values in the Speed Image is divided by this factor. This allows the use of images with integer pixel types to represent the speed. -
setInitialTrialValues
Self& itk::simple::FastMarchingUpwindGradientImageFilter::SetInitialTrialValues(std::vector< double > InitialTrialValues) Set the initial seed values for corresponding trial point. -
getInitialTrialValues
std::vector<double> itk::simple::FastMarchingUpwindGradientImageFilter::GetInitialTrialValues() const -
getGradientImage
Image itk::simple::FastMarchingUpwindGradientImageFilter::GetGradientImage() const Get the gradient image. This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution. -
getTargetValue
public double getTargetValue()double itk::simple::FastMarchingUpwindGradientImageFilter::GetTargetValue() const Get the arrival time corresponding to the last reached target. If TargetReachedMode is set to NoTargets, TargetValue contains the last (aka largest) Eikonal solution value generated. This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution. -
getName
std::string itk::simple::FastMarchingUpwindGradientImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::FastMarchingUpwindGradientImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::FastMarchingUpwindGradientImageFilter::Execute(const Image &image1) Execute the filter on the input image
-