Class AlgorithmRemoveSlices
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.utilities.AlgorithmRemoveSlices
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
Algorithm verifies the z-th slice should be in included in the destination image, as defined in the list, remove. It
copies the slice from the srcImage img to a buffer, and then from the buffer into the destination img. Copies the
srcImage file info to a buffer and makes it conform to the new img, then copies it into the destImage file.
Note that an image is a set of slices; each slice is XxY, with Z slices.**(as of 1 Nov, does not yet process the more complicated DICOM images Completely)
- Version:
- v0.11 1 Nov 1999 (processes most images)
- Author:
- David Parsons (parsonsd@cbel.cit.nih.gov) (with vast help from M.McAuliffe)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intOriginal Z dimension of the image.private boolean[]List of slices to remove from source image.private intArea of a slice (Xdim * Ydim).private intX dimension of the image.private intY dimension of the image.Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStoppedFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
ConstructorsConstructorDescriptionAlgorithmRemoveSlices(ModelImage srcImage, ModelImage destImage, boolean[] removeSlices) Import source and destination images into the class. -
Method Summary
Modifier and TypeMethodDescriptionvoidCalculates the final output and stores it in the source image.voidCalculates the final output and puts it in a destination image.private int[]Calculates and returns the new extents based on the source image and the list of slices to be removed.voidfinalize()Prepares this class for destruction.protected intCalculates and returns the axis of change based on the srcImage.protected intCalculates and returns the color factor based on the srcImage.private intcomputes and returns the number of slices to remove.private intgetOffset(int ndims, int[] extents, int colorFactor, int t) Calculate and return the offset for the given image and time slice.private intgetOffset(ModelImage img, int colorFactor, int t) Calculate and return the offset for the given image and time slice.private FileInfoBasegetSliceFileInfo(int srcSlice, int destSlice, int t, int[] newExtents) Build and return the fileInfo for the current slice based on the source slice, the destination slice and time slice.voidCalculates the final output.static voidupdateFileInfo(ModelImage image, ModelImage resultImage) Copy important file information to resultant image structure.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, windowOpenedMethods 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, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Field Details
-
oldZdim
private int oldZdimOriginal Z dimension of the image. -
remove
private boolean[] removeList of slices to remove from source image. -
sliceArea
private int sliceAreaArea of a slice (Xdim * Ydim). -
Xdim
private int XdimX dimension of the image. -
Ydim
private int YdimY dimension of the image.
-
-
Constructor Details
-
AlgorithmRemoveSlices
Import source and destination images into the class.- Parameters:
srcImage- source image (image to clip from)destImage- destination image (image to paste to)removeSlices- list of boolean indicating which slices in source should *not* be in the destination
-
-
Method Details
-
updateFileInfo
Copy important file information to resultant image structure.- Parameters:
image- Source image.resultImage- Resultant image.
-
calcInPlace
public void calcInPlace()Calculates the final output and stores it in the source image. -
calcStoreInDest
public void calcStoreInDest()Calculates the final output and puts it in a destination image. -
finalize
public void finalize()Prepares this class for destruction.- Overrides:
finalizein classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()Calculates the final output.- Specified by:
runAlgorithmin classAlgorithmBase
-
getAxisOfChange
Calculates and returns the axis of change based on the srcImage. The default (for most images) is 2. DICOM images need to be checked.- Returns:
- DOCUMENT ME!
- Throws:
Exception- DOCUMENT ME!
-
getColorFactor
protected int getColorFactor()Calculates and returns the color factor based on the srcImage.- Returns:
- DOCUMENT ME!
-
computeNewExtents
private int[] computeNewExtents()Calculates and returns the new extents based on the source image and the list of slices to be removed.- Returns:
- DOCUMENT ME!
-
getNumRemoved
private int getNumRemoved()computes and returns the number of slices to remove.- Returns:
- DOCUMENT ME!
-
getOffset
Calculate and return the offset for the given image and time slice.- Parameters:
img- -- ModelImage whose offset is being computedcolorFactor- -- the image's colorFactort- -- current time slice- Returns:
- -- the computed offset into the data buffer
-
getOffset
private int getOffset(int ndims, int[] extents, int colorFactor, int t) Calculate and return the offset for the given image and time slice.- Parameters:
ndims- -- number of dimensionsextents- -- the extents for the image offsetcolorFactor- -- the image's colorFactort- -- current time slice- Returns:
- -- the computed offset into the data buffer
-
getSliceFileInfo
Build and return the fileInfo for the current slice based on the source slice, the destination slice and time slice.- Parameters:
srcSlice- the current slice index for the src imagedestSlice- the current slice index for the result (dest) imaget- current time slicenewExtents- the extents for the result (dest) image- Returns:
- the fileInfo for destSlice
-