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

public class AlgorithmRemoveSlices extends AlgorithmBase
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:
  • Field Details

    • oldZdim

      private int oldZdim
      Original Z dimension of the image.
    • remove

      private boolean[] remove
      List of slices to remove from source image.
    • sliceArea

      private int sliceArea
      Area of a slice (Xdim * Ydim).
    • Xdim

      private int Xdim
      X dimension of the image.
    • Ydim

      private int Ydim
      Y dimension of the image.
  • Constructor Details

    • AlgorithmRemoveSlices

      public AlgorithmRemoveSlices(ModelImage srcImage, ModelImage destImage, boolean[] removeSlices)
      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

      public static void updateFileInfo(ModelImage image, ModelImage resultImage)
      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:
      finalize in class AlgorithmBase
    • runAlgorithm

      public void runAlgorithm()
      Calculates the final output.
      Specified by:
      runAlgorithm in class AlgorithmBase
    • getAxisOfChange

      protected int getAxisOfChange() throws Exception
      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

      private int getOffset(ModelImage img, int colorFactor, int t)
      Calculate and return the offset for the given image and time slice.
      Parameters:
      img - -- ModelImage whose offset is being computed
      colorFactor - -- the image's colorFactor
      t - -- 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 dimensions
      extents - -- the extents for the image offset
      colorFactor - -- the image's colorFactor
      t - -- current time slice
      Returns:
      -- the computed offset into the data buffer
    • getSliceFileInfo

      private FileInfoBase getSliceFileInfo(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.
      Parameters:
      srcSlice - the current slice index for the src image
      destSlice - the current slice index for the result (dest) image
      t - current time slice
      newExtents - the extents for the result (dest) image
      Returns:
      the fileInfo for destSlice