Class JDialogRemoveSlices

All Implemented Interfaces:
AlgorithmInterface, ScriptableActionInterface, DialogDefaultsInterface, ActionListener, FocusListener, ItemListener, WindowListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class JDialogRemoveSlices extends JDialogScriptableBase implements AlgorithmInterface
Creates the dialog to remove separate slices in an image. Dialog asks which slices the user wishes to remove; it provides buttons to mark all slices for removal and to de-select any slices from image removal; it gives options to remove or to cancel. Allows 3D or 4D images; 2D images would not make sense with this operation.**(as of 25 Oct, does not yet rename removed slice image when saving)**(as of 1 November, does not yet process the more complicated DICOM images completely.
Version:
v0.12 1 Nov 1999 (processes most images)
Author:
David Parsons (parsonsd@cbel.cit.nih.gov) (with vast help from M.McAuliffe)
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Use serialVersionUID for interoperability.
      See Also:
    • CHECKED_EVEN

      public static final int CHECKED_EVEN
      DOCUMENT ME!
      See Also:
    • CHECKED_ODD

      public static final int CHECKED_ODD
      DOCUMENT ME!
      See Also:
    • USER_DEFINED

      public static final int USER_DEFINED
      DOCUMENT ME!
      See Also:
    • checkboxList

      private JCheckBox[] checkboxList
      DOCUMENT ME!
    • checkboxPanel

      private JPanel checkboxPanel
      DOCUMENT ME!
    • checkButton

      private JButton checkButton
      DOCUMENT ME!
    • checkEvenButton

      private JButton checkEvenButton
      DOCUMENT ME!
    • checkListRemove

      private boolean[] checkListRemove
      DOCUMENT ME!
    • checkOddButton

      private JButton checkOddButton
      DOCUMENT ME!
    • destinationGroup

      private ButtonGroup destinationGroup
      DOCUMENT ME!
    • displayLoc

      private int displayLoc
      DOCUMENT ME!
    • dontOpenFrame

      private boolean dontOpenFrame
      DOCUMENT ME!
    • doReplace

      private boolean doReplace
      DOCUMENT ME!
    • exampleLabel

      private JLabel exampleLabel
      DOCUMENT ME!
    • exampleLabel2

      private JLabel exampleLabel2
      DOCUMENT ME!
    • image

      private ModelImage image
      DOCUMENT ME!
    • newImage

      private JRadioButton newImage
      DOCUMENT ME!
    • nSlices

      private int nSlices
      DOCUMENT ME!
    • numChecked

      private int numChecked
      DOCUMENT ME!
    • origExtents

      private int[] origExtents
      DOCUMENT ME!
    • origNDims

      private int origNDims
      DOCUMENT ME!
    • pressedCheckEven

      private boolean pressedCheckEven
      DOCUMENT ME!
    • pressedCheckOdd

      private boolean pressedCheckOdd
      DOCUMENT ME!
    • rangeField

      private JTextField rangeField
      DOCUMENT ME!
    • removeSlicesAlgo

      private AlgorithmRemoveSlices removeSlicesAlgo
      DOCUMENT ME!
    • replaceBox

      private JCheckBox replaceBox
      DOCUMENT ME!
    • replaceImage

      private JRadioButton replaceImage
      DOCUMENT ME!
    • replaceSlicesAlgo

      private AlgorithmReplaceRemovedSlices replaceSlicesAlgo
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      DOCUMENT ME!
    • scrollPane

      private JScrollPane scrollPane
      DOCUMENT ME!
    • successful

      private boolean successful
      DOCUMENT ME!
    • titles

      private String[] titles
      DOCUMENT ME!
    • unCheckButton

      private JButton unCheckButton
      DOCUMENT ME!
    • useRange

      private JCheckBox useRange
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
    • insertBlank

      private boolean insertBlank
      If true, insert a blank rather than a weighted average
  • Constructor Details

    • JDialogRemoveSlices

      public JDialogRemoveSlices()
      Empty constructor needed for dynamic instantiation (used during scripting).
    • JDialogRemoveSlices

      public JDialogRemoveSlices(Frame theParentFrame, ModelImage im)
      Creates new dialog for removing slices.
      Parameters:
      theParentFrame - Parent frame
      im - Source image
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent event)
      Closes dialog box when the OK button is pressed and calls the algorithm.
      Specified by:
      actionPerformed in interface ActionListener
      Overrides:
      actionPerformed in class JDialogBase
      Parameters:
      event - Event that triggers function
    • algorithmPerformed

      public void algorithmPerformed(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithms when it has completed or failed to to complete, so that the dialog can be display the result image and/or clean up.
      Specified by:
      algorithmPerformed in interface AlgorithmInterface
      Parameters:
      algorithm - Algorithm that caused the event.
    • getResultImage

      public ModelImage getResultImage()
      Accessor that returns the image.
      Returns:
      the result image
    • storeParamsFromGUI

      protected void storeParamsFromGUI() throws ParserException
      Record the parameters just used to run this algorithm in a script.
      Specified by:
      storeParamsFromGUI in class JDialogScriptableBase
      Throws:
      ParserException - If there is a problem creating/recording the new parameters.
    • setGUIFromParams

      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      Specified by:
      setGUIFromParams in class JDialogScriptableBase
    • doPostAlgorithmActions

      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      Overrides:
      doPostAlgorithmActions in class JDialogScriptableBase
    • isEvenSelected

      public boolean isEvenSelected()
      Returns true if only the even image slices have been selected.
      Returns:
      true if only even slices selected to be removed, false otherwise
    • isOddSelected

      public boolean isOddSelected()
      Returns true if only the odd image slices have been selected.
      Returns:
      true if only odd slices selected to be removed, false otherwise
    • isSuccessful

      public boolean isSuccessful()
      Accessor that returns the whether or not the algorithm completed successfully.
      Returns:
      DOCUMENT ME!
    • itemStateChanged

      public void itemStateChanged(ItemEvent event)
      Unchanged.
      Specified by:
      itemStateChanged in interface ItemListener
      Overrides:
      itemStateChanged in class JDialogBase
      Parameters:
      event - DOCUMENT ME!
    • setCheckListRemove

      public void setCheckListRemove(boolean[] cl)
      Accessor that sets the which slices to remove according to the boolean array paramater.
      Parameters:
      cl - for every element that is true, the slice corresponding to that element index will be removed
    • setCheckListRemove

      public void setCheckListRemove(Vector<String> slices)
      Accessor that sets the which slices to remove according to the vector of strings.
      Parameters:
      slices - - the list of slices to be removed.
    • setCheckListRemoveEven

      public void setCheckListRemoveEven()
      Sets up so that only even slices will be removed.
    • setCheckListRemoveOdd

      public void setCheckListRemoveOdd()
      Sets up so that only odd slices will be removed.
    • setDisplayLocNew

      public void setDisplayLocNew()
      Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.
    • setDisplayLocReplace

      public void setDisplayLocReplace()
      Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.
    • setDontOpenFrame

      public void setDontOpenFrame(boolean dontOpenFrame)
      DOCUMENT ME!
      Parameters:
      dontOpenFrame - DOCUMENT ME!
    • callAlgorithm

      protected void callAlgorithm()
      Once all the necessary variables are set, call the Remove Slices algorithm based on what type of image this is and whether or not there is a separate destination image.
      Specified by:
      callAlgorithm in class JDialogScriptableBase
    • init

      private void init()
      Sets up the GUI (panels, buttons, etc) and displays it on the screen.
    • setVariables

      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      Returns:
      true if parameters set successfully, false otherwise.