Package gov.nih.mipav.model.algorithms
Class AlgorithmFuzzyConnectednessSegmentation
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.AlgorithmFuzzyConnectednessSegmentation
-
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.event.WindowListener,java.lang.Runnable,java.util.EventListener
public class AlgorithmFuzzyConnectednessSegmentation extends AlgorithmBase
-
-
Field Summary
Fields Modifier and Type Field Description private intalgorithmstatic intBOTH_FUZZY_HARDThis code is ported from MATLAB routines adjacency, affinity, afc, and irfc written by Joakim Lindblad References: 1.)private ModelImage[]destImageFuzzy images require 1 image with double values Hard images 1 image with class numbers.private intdestNumDOCUMENT ME!private doubledistanceDeclinestatic intFUZZY_ONLYDOCUMENT ME!private doublegradientWeightstatic intHARD_ONLYDOCUMENT ME!private java.util.Vector<java.lang.Short>index_labelsprivate java.util.Vector<java.lang.Integer>index_seedsprivate intL1Distanceprivate intsliceSizeprivate ViewUserInterfaceUI-
Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStopped
-
-
Constructor Summary
Constructors Constructor Description AlgorithmFuzzyConnectednessSegmentation(ModelImage[] destImg, ModelImage srcImg, int algorithm, int L1Distance, double distanceDecline, double gradientWeight, java.util.Vector<java.lang.Integer> index_seeds, java.util.Vector<java.lang.Short> index_labels)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private double[]afc(java.util.Vector<java.lang.Integer> index_seeds_original, java.util.Vector<java.lang.Integer> index1, java.util.Vector<java.lang.Integer> index2, java.util.Vector<java.lang.Double> affinity)voidfinalize()Prepares this class for destruction.private short[]irfc(java.util.Vector<java.lang.Integer> index_seeds, java.util.Vector<java.lang.Short> index_labels, java.util.Vector<java.lang.Integer> index1, java.util.Vector<java.lang.Integer> index2, java.util.Vector<java.lang.Double> affinity)voidrunAlgorithm()Starts the program.-
Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, 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
-
BOTH_FUZZY_HARD
public static final int BOTH_FUZZY_HARD
This code is ported from MATLAB routines adjacency, affinity, afc, and irfc written by Joakim Lindblad References: 1.) "Fuzzy Connectedness and Object Definition: Theory, Algorithms, and Applications in Image Segmentation" by Jayaram K. Udupa and Supun Samarasekera, Graphical Models and Image Processing, Vol. 58, No. 3, May, 1996, pp. 246-261. 2.) "Fuzzy Connected Object Delineation: Axiomatic Path Strength Definition and the Case of Multiple Seeds" by Punam K. Saha and Jayaram K. Udupa, Computer Vision and Image Understanding, 83, 2001, pp. 275-295. 3.) "Iterative relative fuzzy connectedness for multiple objects with multiple seeds" by Krzysztof Chris Ciesielski, Jayaram K. Udupa, Punam K. Saha, and Ying Zhuge, Computer Vision and Image Understanding, 107, 2007, pp. 160-182.- See Also:
- Constant Field Values
-
FUZZY_ONLY
public static final int FUZZY_ONLY
DOCUMENT ME!- See Also:
- Constant Field Values
-
HARD_ONLY
public static final int HARD_ONLY
DOCUMENT ME!- See Also:
- Constant Field Values
-
destImage
private ModelImage[] destImage
Fuzzy images require 1 image with double values Hard images 1 image with class numbers.
-
destNum
private int destNum
DOCUMENT ME!
-
L1Distance
private int L1Distance
-
distanceDecline
private double distanceDecline
-
gradientWeight
private double gradientWeight
-
index_seeds
private java.util.Vector<java.lang.Integer> index_seeds
-
index_labels
private java.util.Vector<java.lang.Short> index_labels
-
algorithm
private int algorithm
-
sliceSize
private int sliceSize
-
UI
private ViewUserInterface UI
-
-
Constructor Detail
-
AlgorithmFuzzyConnectednessSegmentation
public AlgorithmFuzzyConnectednessSegmentation(ModelImage[] destImg, ModelImage srcImg, int algorithm, int L1Distance, double distanceDecline, double gradientWeight, java.util.Vector<java.lang.Integer> index_seeds, java.util.Vector<java.lang.Short> index_labels)
-
-
Method Detail
-
finalize
public void finalize()
Prepares this class for destruction.- Overrides:
finalizein classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()
Starts the program.- Specified by:
runAlgorithmin classAlgorithmBase
-
afc
private double[] afc(java.util.Vector<java.lang.Integer> index_seeds_original, java.util.Vector<java.lang.Integer> index1, java.util.Vector<java.lang.Integer> index2, java.util.Vector<java.lang.Double> affinity)
-
irfc
private short[] irfc(java.util.Vector<java.lang.Integer> index_seeds, java.util.Vector<java.lang.Short> index_labels, java.util.Vector<java.lang.Integer> index1, java.util.Vector<java.lang.Integer> index2, java.util.Vector<java.lang.Double> affinity)
-
-