Class CollidingFrontsImageFilter


public class CollidingFrontsImageFilter extends ImageFilter
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
  • 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

      protected static long getCPtr(CollidingFrontsImageFilter obj)
    • swigRelease

      protected static long swigRelease(CollidingFrontsImageFilter obj)
    • finalize

      protected void finalize()
      Overrides:
      finalize in class ImageFilter
    • delete

      public void delete()
      virtual itk::simple::CollidingFrontsImageFilter::~CollidingFrontsImageFilter() Destructor
      Overrides:
      delete in class ImageFilter
    • setSeedPoints1

      public 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. Seed points are represented as a VectorContainer of LevelSetNodes.
    • getSeedPoints1

      public VectorUIntList getSeedPoints1()
      std::vector< std::vector< unsigned int > > itk::simple::CollidingFrontsImageFilter::GetSeedPoints1() const Get the container of Seed Points representing the first initial front.
    • addSeedPoint1

      public void addSeedPoint1(VectorUInt32 point)
      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

      public 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. Seed points are represented as a VectorContainer of LevelSetNodes.
    • getSeedPoints2

      public VectorUIntList getSeedPoints2()
      std::vector< std::vector< unsigned int > > itk::simple::CollidingFrontsImageFilter::GetSeedPoints2() const Get the container of Seed Points representing the second initial front.
    • addSeedPoint2

      public void addSeedPoint2(VectorUInt32 point)
      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

      public String getName()
      std::string itk::simple::CollidingFrontsImageFilter::GetName() const Name of this class
      Overrides:
      getName in class ProcessObject
    • toString

      public String toString()
      std::string itk::simple::CollidingFrontsImageFilter::ToString() const Print ourselves out
      Overrides:
      toString in class ProcessObject
    • execute

      public Image execute(Image image1)
      Image itk::simple::CollidingFrontsImageFilter::Execute(const Image &image1) Execute the filter on the input image