Package gov.nih.mipav.model.algorithms
Class AlgorithmSequentialScanningWatershed
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.AlgorithmSequentialScanningWatershed
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
AlgorithmSequentialScanningWatershed.indexValueComparator
private class
AlgorithmSequentialScanningWatershed.indexValueItem
-
Field Summary
Fields Modifier and Type Field Description private int
binNumber
private double[]
distBuffer
private int[]
imgBuffer
private int[]
labelBuffer
private boolean
limitBins
private boolean
merge
private double
mergeThreshold
private int
numNeighbor
private double
sqrt2
private boolean
stable
private int
WSHED
private int
xDim
private int
yDim
-
Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStopped
-
-
Constructor Summary
Constructors Constructor Description AlgorithmSequentialScanningWatershed(ModelImage destImage, ModelImage srcImage, int numNeighbor, boolean limitBins, int binNumber, boolean merge, double mergeThreshold)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private double
cost(int p, int q)
private double
LS(int p)
private void
propagate(int u, boolean forward)
void
runAlgorithm()
Actually runs the algorithm.-
Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, finalize, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, generateProgressValues, getDestImage, getElapsedTime, getMask, getMaxProgressValue, getMinProgressValue, getNumberOfThreads, getProgress, getProgressChangeListener, getProgressChangeListeners, getProgressModulus, getProgressStep, getProgressValues, getSrcImage, isCompleted, isImage25D, isMultiThreadingEnabled, isRunningInSeparateThread, isThreadStopped, linkProgressToAlgorithm, linkProgressToAlgorithm, makeProgress, notifyListeners, removeListener, removeProgressChangeListener, run, setCompleted, setImage25D, setMask, setMaxProgressValue, setMinProgressValue, setMultiThreadingEnabled, setNumberOfThreads, setProgress, setProgressModulus, setProgressStep, setProgressValues, setProgressValues, setRunningInSeparateThread, setSrcImage, setStartTime, setThreadStopped, startMethod, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
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:
- Constant Field Values
-
merge
private boolean merge
-
mergeThreshold
private double mergeThreshold
-
-
Constructor Detail
-
AlgorithmSequentialScanningWatershed
public AlgorithmSequentialScanningWatershed(ModelImage destImage, ModelImage srcImage, int numNeighbor, boolean limitBins, int binNumber, boolean merge, double mergeThreshold)
-
-
Method Detail
-
runAlgorithm
public void runAlgorithm()
Description copied from class:AlgorithmBase
Actually runs the algorithm. Implemented by inheriting algorithms.- Specified by:
runAlgorithm
in classAlgorithmBase
-
propagate
private void propagate(int u, boolean forward)
-
cost
private double cost(int p, int q)
-
LS
private double LS(int p)
-
-