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 int
algorithm
static int
BOTH_FUZZY_HARD
This code is ported from MATLAB routines adjacency, affinity, afc, and irfc written by Joakim Lindblad References: 1.)private ModelImage[]
destImage
Fuzzy images require 1 image with double values Hard images 1 image with class numbers.private int
destNum
DOCUMENT ME!private double
distanceDecline
static int
FUZZY_ONLY
DOCUMENT ME!private double
gradientWeight
static int
HARD_ONLY
DOCUMENT ME!private java.util.Vector<java.lang.Short>
index_labels
private java.util.Vector<java.lang.Integer>
index_seeds
private int
L1Distance
private int
sliceSize
private ViewUserInterface
UI
-
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)
void
finalize()
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)
void
runAlgorithm()
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:
finalize
in classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()
Starts the program.- Specified by:
runAlgorithm
in 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)
-
-