Class AlgorithmSequentialScanningWatershed

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmSequentialScanningWatershed
All Implemented Interfaces:
ActionListener, WindowListener, Runnable, EventListener

public class AlgorithmSequentialScanningWatershed extends AlgorithmBase
Author:
ilb Reference: 1.) The Watershed Transform: Definitions, Algorithms, and Parallelization Strategies by Jos B.T.M. Roerdink and Arnold Meijster, Fundamentals Informaticae 41 (2001), pp. 187-228. Algorithm 4.4 Watershed transform w.r.t. topographical distance by sequential scanning based on image integration 2.) Automated Sulcal Segmentation Using Watersheds on the Cortical Surface by Maryam E. Rettmann, Xiao Han, Chenyang Xu, and Jerry L. Prince, NeuroImage 15, 2002, Section Merging of Catchment Basins, p.338.
  • Field Details

    • numNeighbor

      private int numNeighbor
    • limitBins

      private boolean limitBins
    • binNumber

      private int binNumber
    • stable

      private boolean stable
    • xDim

      private int xDim
    • yDim

      private int yDim
    • imgBuffer

      private int[] imgBuffer
    • labelBuffer

      private int[] labelBuffer
    • distBuffer

      private double[] distBuffer
    • sqrt2

      private final double sqrt2
    • WSHED

      private final int WSHED
      See Also:
    • merge

      private boolean merge
    • mergeThreshold

      private double mergeThreshold
  • Constructor Details

    • AlgorithmSequentialScanningWatershed

      public AlgorithmSequentialScanningWatershed(ModelImage destImage, ModelImage srcImage, int numNeighbor, boolean limitBins, int binNumber, boolean merge, double mergeThreshold)
  • Method Details

    • runAlgorithm

      public void runAlgorithm()
      Description copied from class: AlgorithmBase
      Actually runs the algorithm. Implemented by inheriting algorithms.
      Specified by:
      runAlgorithm in class AlgorithmBase
    • propagate

      private void propagate(int u, boolean forward)
    • cost

      private double cost(int p, int q)
    • LS

      private double LS(int p)