Class ThresholdSegmentationLevelSetImageFilter

java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.ThresholdSegmentationLevelSetImageFilter

public class ThresholdSegmentationLevelSetImageFilter extends ImageFilter
Segments structures in images based on intensity values. IMPORTANT The SegmentationLevelSetImageFilter class and the ThresholdSegmentationLevelSetFunction class contain additional information necessary to the full understanding of how to use this filter. OVERVIEW This class is a level set method segmentation filter. It constructs a speed function which is close to zero at the upper and lower bounds of an intensity window, effectively locking the propagating front onto those edges. Elsewhere, the front will propagate quickly. INPUTS This filter requires two inputs. The first input is a seed image. This seed image must contain an isosurface that you want to use as the seed for your segmentation. It can be a binary, graylevel, or floating point image. The only requirement is that it contain a closed isosurface that you will identify as the seed by setting the IsosurfaceValue parameter of the filter. For a binary image you will want to set your isosurface value halfway between your on and off values (i.e. for 0's and 1's, use an isosurface value of 0.5). The second input is the feature image. This is the image from which the speed function will be calculated. For most applications, this is the image that you want to segment. The desired isosurface in your seed image should lie within the region of your feature image that you are trying to segment. Note that this filter does no preprocessing of the feature image before thresholding. See SegmentationLevelSetImageFilter for more information on Inputs. OUTPUTS The filter outputs a single, scalar, real-valued image. Positive values in the output image are inside the segmented region and negative values in the image are outside of the inside region. The zero crossings of the image correspond to the position of the level set front. See SparseFieldLevelSetImageFilter and SegmentationLevelSetImageFilter for more information. PARAMETERS In addition to parameters described in SegmentationLevelSetImageFilter , this filter adds the UpperThreshold and LowerThreshold. See ThresholdSegmentationLevelSetFunction for a description of how these values affect the segmentation. See: SegmentationLevelSetImageFilter ThresholdSegmentationLevelSetFunction , SparseFieldLevelSetImageFilter itk::simple::ThresholdSegmentationLevelSet for the procedural interface itk::ThresholdSegmentationLevelSetImageFilter for the Doxygen on the original ITK class. C++ includes: sitkThresholdSegmentationLevelSetImageFilter.h
  • Constructor Details

    • ThresholdSegmentationLevelSetImageFilter

      protected ThresholdSegmentationLevelSetImageFilter(long cPtr, boolean cMemoryOwn)
    • ThresholdSegmentationLevelSetImageFilter

      public ThresholdSegmentationLevelSetImageFilter()
      itk::simple::ThresholdSegmentationLevelSetImageFilter::ThresholdSegmentationLevelSetImageFilter() Default Constructor that takes no arguments and initializes default parameters
  • Method Details

    • getCPtr

      protected static long getCPtr(ThresholdSegmentationLevelSetImageFilter obj)
    • swigRelease

      protected static long swigRelease(ThresholdSegmentationLevelSetImageFilter obj)
    • finalize

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

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

      public void setLowerThreshold(double LowerThreshold)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetLowerThreshold(double LowerThreshold)
    • getLowerThreshold

      public double getLowerThreshold()
      double itk::simple::ThresholdSegmentationLevelSetImageFilter::GetLowerThreshold() const
    • setUpperThreshold

      public void setUpperThreshold(double UpperThreshold)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetUpperThreshold(double UpperThreshold) Get/Set the threshold values that will be used to calculate the speed function.
    • getUpperThreshold

      public double getUpperThreshold()
      double itk::simple::ThresholdSegmentationLevelSetImageFilter::GetUpperThreshold() const
    • setMaximumRMSError

      public void setMaximumRMSError(double MaximumRMSError)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetMaximumRMSError(double MaximumRMSError)
    • getMaximumRMSError

      public double getMaximumRMSError()
      double itk::simple::ThresholdSegmentationLevelSetImageFilter::GetMaximumRMSError() const
    • setPropagationScaling

      public void setPropagationScaling(double PropagationScaling)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetPropagationScaling(double PropagationScaling)
    • getPropagationScaling

      public double getPropagationScaling()
      double itk::simple::ThresholdSegmentationLevelSetImageFilter::GetPropagationScaling() const
    • setCurvatureScaling

      public void setCurvatureScaling(double CurvatureScaling)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetCurvatureScaling(double CurvatureScaling)
    • getCurvatureScaling

      public double getCurvatureScaling()
      double itk::simple::ThresholdSegmentationLevelSetImageFilter::GetCurvatureScaling() const
    • setNumberOfIterations

      public void setNumberOfIterations(long NumberOfIterations)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetNumberOfIterations(uint32_t NumberOfIterations)
    • getNumberOfIterations

      public long getNumberOfIterations()
      uint32_t itk::simple::ThresholdSegmentationLevelSetImageFilter::GetNumberOfIterations() const
    • setReverseExpansionDirection

      public void setReverseExpansionDirection(boolean ReverseExpansionDirection)
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::SetReverseExpansionDirection(bool ReverseExpansionDirection)
    • reverseExpansionDirectionOn

      public void reverseExpansionDirectionOn()
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::ReverseExpansionDirectionOn() Set the value of ReverseExpansionDirection to true or false respectfully.
    • reverseExpansionDirectionOff

      public void reverseExpansionDirectionOff()
      Self& itk::simple::ThresholdSegmentationLevelSetImageFilter::ReverseExpansionDirectionOff()
    • getReverseExpansionDirection

      public boolean getReverseExpansionDirection()
      bool itk::simple::ThresholdSegmentationLevelSetImageFilter::GetReverseExpansionDirection() const
    • getElapsedIterations

      public long getElapsedIterations()
      uint32_t itk::simple::ThresholdSegmentationLevelSetImageFilter::GetElapsedIterations() const Number of iterations run. This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
    • getRMSChange

      public double getRMSChange()
      double itk::simple::ThresholdSegmentationLevelSetImageFilter::GetRMSChange() const The Root Mean Square of the levelset upon termination. This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
    • getName

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

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

      public Image execute(Image initialImage, Image featureImage)
      Image itk::simple::ThresholdSegmentationLevelSetImageFilter::Execute(Image &&initialImage, const Image &featureImage) Execute the filter on the input image