Class AlgorithmSliceAveraging
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.filters.AlgorithmSliceAveraging
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.EventListener
public class AlgorithmSliceAveraging extends AlgorithmBase
This algorithm averages together slices of a 3D image. The average used here is the mean - the sum of values divided by the number of values. Under Slice Number 3, 5, 7, or All is chosen with All being the default. If All is chosen, then a 2D image is created. If 3, 5, or 7 is chosen, then a 3D image is created. Only New image can be chosen if All is selected since a 2D image cannot meaningfully replace a 3D image. If 3, 5, or 7 is chosen, New image is the default, but either New image or Replace image can be chosen.If All is chosen: newValue(x,y) = (sum over all slice of oldValue(x,y,slice))/number of slices
If 3, 5, or 7 is chosen: offset = (averagingNumber - 1)/2 newValue(x,y,sliceNumber) = (sum from slice = Maximum(first slice number,sliceNumber - offset) to slice = Minimum(last slice number,sliceNumber + offset) of oldValue(x,y,slice))/ number of slices in summation The above equations prevent the inclusion of slice numbers less than the first slice number or greater than the last slice number in the averaging equation. For example, when averaging on the first slice with an averagingNumber = 7, only include the first slice and the three slices above it in the averaging. When averaging on the last slice with averagingNumber = 5, only include the last slice and the two slices below it in the averaging.
-
-
Field Summary
Fields Modifier and Type Field Description private int
averagingNumber
DOCUMENT ME!private boolean
haveColor
DOCUMENT ME!-
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 AlgorithmSliceAveraging(ModelImage srcImg, int averagingNumber)
Creates a new AlgorithmSliceAveraging object.AlgorithmSliceAveraging(ModelImage destImg, ModelImage srcImg, int averagingNumber)
Creates a new AlgorithmSliceAveraging object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
finalize()
Prepares this class for destruction.void
runAlgorithm()
Start algorithm.private void
sAveraging()
Averages image slices together.-
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
-
-
-
-
Constructor Detail
-
AlgorithmSliceAveraging
public AlgorithmSliceAveraging(ModelImage srcImg, int averagingNumber)
Creates a new AlgorithmSliceAveraging object.- Parameters:
srcImg
- source image modelaveragingNumber
- number of slices to average together, if 1 average all slices together
-
AlgorithmSliceAveraging
public AlgorithmSliceAveraging(ModelImage destImg, ModelImage srcImg, int averagingNumber)
Creates a new AlgorithmSliceAveraging object.- Parameters:
destImg
- image model where result image is to storedsrcImg
- source image modelaveragingNumber
- number of slices to average together, if 1 average all slices together
-
-
Method Detail
-
finalize
public void finalize()
Prepares this class for destruction.- Overrides:
finalize
in classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()
Start algorithm.- Specified by:
runAlgorithm
in classAlgorithmBase
-
sAveraging
private void sAveraging()
Averages image slices together.
-
-