Class AlgorithmFastMarching
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.levelset.AlgorithmFastMarching
-
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.event.WindowListener,java.lang.Runnable,java.util.EventListener
public class AlgorithmFastMarching extends AlgorithmBase
DOCUMENT ME!
-
-
Field Summary
Fields Modifier and Type Field Description private booleanm_bImage25DCalculate per-slice:private booleanm_bIterateDOCUMENT ME!private booleanm_bNextDOCUMENT ME!private floatm_fAdvectionWeightThe advection coefficient 'a' in the PDE that controls the evolution.private floatm_fCurvatureWeightThe curvature coefficient 'c' in the PDE that controls the evolution.private floatm_fGradientMagnitudeScaleThe scale to use in computing the blurred gradient magnitude of the curvature flow image.private floatm_fLaplacianWeightThe Laplacian coefficient 'd' in the PDE that controls the evolution.private floatm_fMaxDistanceThe maximum distance to allow when computing the signed distance transform.private floatm_fPropagationWeightThe propagation coefficient 'b' in the PDE that controls the evolution.private floatm_fSigmoidAlphaThe parameters for the sigmoid function through which the blurred gradient magnitude image is processed.private floatm_fSigmoidBetaThe parameters for the sigmoid function through which the blurred gradient magnitude image is processed.private floatm_fSigmoidMaxThe parameters for the sigmoid function through which the blurred gradient magnitude image is processed.private floatm_fSigmoidMinThe parameters for the sigmoid function through which the blurred gradient magnitude image is processed.private intm_iDiffusionIterationsThe number of iterations to use in the nonlinear diffusion (curvature flow filter) applied to the input image.private intm_iFilterTypeType of level set diffusion filter to apply.private intm_iMaxCoarseNumber of coarse iterationsprivate intm_iMaxEvolutionNumber of evolution iterationsprivate intm_iSliceprivate static longserialVersionUIDUse serialVersionUID for interoperability.-
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 AlgorithmFastMarching(ModelImage _image)Creates a new ViewJFrameFastMarching3 object.AlgorithmFastMarching(ModelImage _image, int iFilterType, int iIters, float fGMScale, float fSAlpha, float fSBeta, float fSMin, float fSMax, int iCoarseMax, float fMaxDistance, float fAdvectionWeight, float fPropagationWeight, float fCurvatureWeight, float fLaplacianWeight, int iEvolveMax, boolean bImage25D)Creates a new AlgorithmFastMarching3 object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidDrawEvolve2D(LseSegmenter kSegmenter)DOCUMENT ME!private voidDrawEvolve3D(LseSegmenter kSegmenter)DOCUMENT ME!private voidDrawFastMarch2D(LseSegmenter kSegmenter)DOCUMENT ME!private voidDrawFastMarch3D(LseSegmenter kSegmenter)DOCUMENT ME!voidrunAlgorithm()Actually runs the algorithm.private voidrunAlgorithm25D()voidrunAlgorithm2D()voidrunAlgorithm3D()-
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
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
m_bIterate
private boolean m_bIterate
DOCUMENT ME!
-
m_bNext
private boolean m_bNext
DOCUMENT ME!
-
m_iFilterType
private int m_iFilterType
Type of level set diffusion filter to apply.
-
m_iDiffusionIterations
private int m_iDiffusionIterations
The number of iterations to use in the nonlinear diffusion (curvature flow filter) applied to the input image.
-
m_fGradientMagnitudeScale
private float m_fGradientMagnitudeScale
The scale to use in computing the blurred gradient magnitude of the curvature flow image.
-
m_fSigmoidAlpha
private float m_fSigmoidAlpha
The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The variance of the function.
-
m_fSigmoidBeta
private float m_fSigmoidBeta
The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The center of the function.
-
m_fSigmoidMin
private float m_fSigmoidMin
The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The minimum of the function.
-
m_fSigmoidMax
private float m_fSigmoidMax
The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The maximum of the function.
-
m_iMaxCoarse
private int m_iMaxCoarse
Number of coarse iterations
-
m_fMaxDistance
private float m_fMaxDistance
The maximum distance to allow when computing the signed distance transform.
-
m_fAdvectionWeight
private float m_fAdvectionWeight
The advection coefficient 'a' in the PDE that controls the evolution.
-
m_fPropagationWeight
private float m_fPropagationWeight
The propagation coefficient 'b' in the PDE that controls the evolution.
-
m_fCurvatureWeight
private float m_fCurvatureWeight
The curvature coefficient 'c' in the PDE that controls the evolution.
-
m_fLaplacianWeight
private float m_fLaplacianWeight
The Laplacian coefficient 'd' in the PDE that controls the evolution.
-
m_iMaxEvolution
private int m_iMaxEvolution
Number of evolution iterations
-
m_bImage25D
private boolean m_bImage25D
Calculate per-slice:
-
m_iSlice
private int m_iSlice
-
-
Constructor Detail
-
AlgorithmFastMarching
public AlgorithmFastMarching(ModelImage _image)
Creates a new ViewJFrameFastMarching3 object.- Parameters:
_image- DOCUMENT ME!_LUT- DOCUMENT ME!
-
AlgorithmFastMarching
public AlgorithmFastMarching(ModelImage _image, int iFilterType, int iIters, float fGMScale, float fSAlpha, float fSBeta, float fSMin, float fSMax, int iCoarseMax, float fMaxDistance, float fAdvectionWeight, float fPropagationWeight, float fCurvatureWeight, float fLaplacianWeight, int iEvolveMax, boolean bImage25D)
Creates a new AlgorithmFastMarching3 object.- Parameters:
_image- reference to the source imageiIters- The number of iterations to use in the nonlinear diffusion (curvature flow filter) applied to the input image.fGMScale- The scale to use in computing the blurred gradient magnitude of the curvature flow image.fSAlpha- The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The variance of the function.fSBeta- The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The center of the function.fSMin- The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The minimum of the function.fSMax- The parameters for the sigmoid function through which the blurred gradient magnitude image is processed. The maximum of the function.iCoarseMax- Number of coarse iterationsfMaxDistance- The maximum distance to allow when computing the signed distance transform. * @param fAdvectionWeight The advection coefficient 'a' in the PDE that controls the evolution.fPropagationWeight- The propagation coefficient 'b' in the PDE that controls the evolution.fCurvatureWeight- The curvature coefficient 'c' in the PDE that controls the evolution.fLaplacianWeight- The Laplacian coefficient 'd' in the PDE that controls the evolution.iEvolveMax- Number of evolution iterations
-
-
Method Detail
-
runAlgorithm
public void runAlgorithm()
Description copied from class:AlgorithmBaseActually runs the algorithm. Implemented by inheriting algorithms.- Specified by:
runAlgorithmin classAlgorithmBase
-
runAlgorithm3D
public void runAlgorithm3D()
-
runAlgorithm25D
private void runAlgorithm25D()
-
DrawEvolve3D
private void DrawEvolve3D(LseSegmenter kSegmenter)
DOCUMENT ME!- Parameters:
kSegmenter- DOCUMENT ME!afImage- DOCUMENT ME!
-
DrawFastMarch3D
private void DrawFastMarch3D(LseSegmenter kSegmenter)
DOCUMENT ME!- Parameters:
kSegmenter- DOCUMENT ME!afImage- DOCUMENT ME!
-
runAlgorithm2D
public void runAlgorithm2D()
-
DrawEvolve2D
private void DrawEvolve2D(LseSegmenter kSegmenter)
DOCUMENT ME!- Parameters:
kSegmenter- DOCUMENT ME!afImage- DOCUMENT ME!
-
DrawFastMarch2D
private void DrawFastMarch2D(LseSegmenter kSegmenter)
DOCUMENT ME!- Parameters:
kSegmenter- DOCUMENT ME!afImage- DOCUMENT ME!
-
-