Package org.itk.simple
Class CollidingFrontsImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.CollidingFrontsImageFilter
Selects a region of space where two independent fronts run towards
each other.
The filter can be used to quickly segment anatomical structures (e.g.
for level set initialization).
The filter uses two instances of FastMarchingUpwindGradientImageFilter to compute the gradients of arrival times of two wavefronts
propagating from two sets of seeds. The input of the filter is used as
the speed of the two wavefronts. The output is the dot product between
the two gradient vector fields.
The filter works on the following basic idea. In the regions where the
dot product between the two gradient fields is negative, the two
fronts propagate in opposite directions. In the regions where the dot
product is positive, the two fronts propagate in the same direction.
This can be used to extract the region of space between two sets of
points.
If StopOnTargets is On, then each front will stop as soon as all seeds
of the other front have been reached. This can markedly speed up the
execution of the filter, since wave propagation does not take place on
the complete image.
Optionally, a connectivity criterion can be applied to the resulting
dot product image. In this case, the only negative region in the
output image is the one connected to the seeds.
Luca Antiga Ph.D. Biomedical Technologies Laboratory, Bioengineering
Department, Mario Negri Institute, Italy.
See:
itk::simple::CollidingFronts for the procedural interface
itk::CollidingFrontsImageFilter for the Doxygen on the original ITK class.
C++ includes: sitkCollidingFrontsImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::CollidingFrontsImageFilter::CollidingFrontsImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
CollidingFrontsImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSeedPoint1
(VectorUInt32 point) Self& itk::simple::CollidingFrontsImageFilter::AddSeedPoint1(std::vector< unsigned int > point) Add SeedPoints1 point.void
addSeedPoint2
(VectorUInt32 point) Self& itk::simple::CollidingFrontsImageFilter::AddSeedPoint2(std::vector< unsigned int > point) Add SeedPoints2 point.void
Self& itk::simple::CollidingFrontsImageFilter::ApplyConnectivityOff()void
Self& itk::simple::CollidingFrontsImageFilter::ApplyConnectivityOn() Set the value of ApplyConnectivity to true or false respectfully.void
Self& itk::simple::CollidingFrontsImageFilter::ClearSeedPoints1() Remove all SeedPoints1 points.void
Self& itk::simple::CollidingFrontsImageFilter::ClearSeedPoints2() Remove all SeedPoints2 points.void
delete()
virtual itk::simple::CollidingFrontsImageFilter::~CollidingFrontsImageFilter() DestructorImage itk::simple::CollidingFrontsImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
boolean
bool itk::simple::CollidingFrontsImageFilter::GetApplyConnectivity() constprotected static long
getName()
std::string itk::simple::CollidingFrontsImageFilter::GetName() const Name of this classdouble
double itk::simple::CollidingFrontsImageFilter::GetNegativeEpsilon() conststd::vector< std::vector< unsigned int > > itk::simple::CollidingFrontsImageFilter::GetSeedPoints1() const Get the container of Seed Points representing the first initial front.std::vector< std::vector< unsigned int > > itk::simple::CollidingFrontsImageFilter::GetSeedPoints2() const Get the container of Seed Points representing the second initial front.boolean
bool itk::simple::CollidingFrontsImageFilter::GetStopOnTargets() constvoid
setApplyConnectivity
(boolean ApplyConnectivity) Self& itk::simple::CollidingFrontsImageFilter::SetApplyConnectivity(bool ApplyConnectivity)void
setNegativeEpsilon
(double NegativeEpsilon) Self& itk::simple::CollidingFrontsImageFilter::SetNegativeEpsilon(double NegativeEpsilon)void
setSeedPoints1
(VectorUIntList SeedPoints1) Self& itk::simple::CollidingFrontsImageFilter::SetSeedPoints1(std::vector< std::vector< unsigned int > > SeedPoints1) Set the container of Seed Points representing the first initial front.void
setSeedPoints2
(VectorUIntList SeedPoints2) Self& itk::simple::CollidingFrontsImageFilter::SetSeedPoints2(std::vector< std::vector< unsigned int > > SeedPoints2) Set the container of Seed Points representing the second initial front.void
setStopOnTargets
(boolean StopOnTargets) Self& itk::simple::CollidingFrontsImageFilter::SetStopOnTargets(bool StopOnTargets)void
Self& itk::simple::CollidingFrontsImageFilter::StopOnTargetsOff()void
Self& itk::simple::CollidingFrontsImageFilter::StopOnTargetsOn() Set the value of StopOnTargets to true or false respectfully.protected static long
toString()
std::string itk::simple::CollidingFrontsImageFilter::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
-
CollidingFrontsImageFilter
protected CollidingFrontsImageFilter(long cPtr, boolean cMemoryOwn) -
CollidingFrontsImageFilter
public CollidingFrontsImageFilter()itk::simple::CollidingFrontsImageFilter::CollidingFrontsImageFilter() 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::CollidingFrontsImageFilter::~CollidingFrontsImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setSeedPoints1
Self& itk::simple::CollidingFrontsImageFilter::SetSeedPoints1(std::vector< std::vector< unsigned int > > SeedPoints1) Set the container of Seed Points representing the first initial front. Seed points are represented as a VectorContainer of LevelSetNodes. -
getSeedPoints1
std::vector< std::vector< unsigned int > > itk::simple::CollidingFrontsImageFilter::GetSeedPoints1() const Get the container of Seed Points representing the first initial front. -
addSeedPoint1
Self& itk::simple::CollidingFrontsImageFilter::AddSeedPoint1(std::vector< unsigned int > point) Add SeedPoints1 point. -
clearSeedPoints1
public void clearSeedPoints1()Self& itk::simple::CollidingFrontsImageFilter::ClearSeedPoints1() Remove all SeedPoints1 points. -
setSeedPoints2
Self& itk::simple::CollidingFrontsImageFilter::SetSeedPoints2(std::vector< std::vector< unsigned int > > SeedPoints2) Set the container of Seed Points representing the second initial front. Seed points are represented as a VectorContainer of LevelSetNodes. -
getSeedPoints2
std::vector< std::vector< unsigned int > > itk::simple::CollidingFrontsImageFilter::GetSeedPoints2() const Get the container of Seed Points representing the second initial front. -
addSeedPoint2
Self& itk::simple::CollidingFrontsImageFilter::AddSeedPoint2(std::vector< unsigned int > point) Add SeedPoints2 point. -
clearSeedPoints2
public void clearSeedPoints2()Self& itk::simple::CollidingFrontsImageFilter::ClearSeedPoints2() Remove all SeedPoints2 points. -
setApplyConnectivity
public void setApplyConnectivity(boolean ApplyConnectivity) Self& itk::simple::CollidingFrontsImageFilter::SetApplyConnectivity(bool ApplyConnectivity) -
applyConnectivityOn
public void applyConnectivityOn()Self& itk::simple::CollidingFrontsImageFilter::ApplyConnectivityOn() Set the value of ApplyConnectivity to true or false respectfully. -
applyConnectivityOff
public void applyConnectivityOff()Self& itk::simple::CollidingFrontsImageFilter::ApplyConnectivityOff() -
getApplyConnectivity
public boolean getApplyConnectivity()bool itk::simple::CollidingFrontsImageFilter::GetApplyConnectivity() const -
setNegativeEpsilon
public void setNegativeEpsilon(double NegativeEpsilon) Self& itk::simple::CollidingFrontsImageFilter::SetNegativeEpsilon(double NegativeEpsilon) -
getNegativeEpsilon
public double getNegativeEpsilon()double itk::simple::CollidingFrontsImageFilter::GetNegativeEpsilon() const -
setStopOnTargets
public void setStopOnTargets(boolean StopOnTargets) Self& itk::simple::CollidingFrontsImageFilter::SetStopOnTargets(bool StopOnTargets) -
stopOnTargetsOn
public void stopOnTargetsOn()Self& itk::simple::CollidingFrontsImageFilter::StopOnTargetsOn() Set the value of StopOnTargets to true or false respectfully. -
stopOnTargetsOff
public void stopOnTargetsOff()Self& itk::simple::CollidingFrontsImageFilter::StopOnTargetsOff() -
getStopOnTargets
public boolean getStopOnTargets()bool itk::simple::CollidingFrontsImageFilter::GetStopOnTargets() const -
getName
std::string itk::simple::CollidingFrontsImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::CollidingFrontsImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::CollidingFrontsImageFilter::Execute(const Image &image1) Execute the filter on the input image
-