Package gov.nih.mipav.view.dialogs
Class JDialogRemoveSlices
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- gov.nih.mipav.view.dialogs.JDialogBase
-
- gov.nih.mipav.view.dialogs.JDialogScriptableBase
-
- gov.nih.mipav.view.dialogs.JDialogRemoveSlices
-
- All Implemented Interfaces:
AlgorithmInterface
,ScriptableActionInterface
,DialogDefaultsInterface
,java.awt.event.ActionListener
,java.awt.event.FocusListener
,java.awt.event.ItemListener
,java.awt.event.WindowListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.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:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JCheckBox[]
checkboxList
DOCUMENT ME!private javax.swing.JPanel
checkboxPanel
DOCUMENT ME!private javax.swing.JButton
checkButton
DOCUMENT ME!static int
CHECKED_EVEN
DOCUMENT ME!static int
CHECKED_ODD
DOCUMENT ME!private javax.swing.JButton
checkEvenButton
DOCUMENT ME!private boolean[]
checkListRemove
DOCUMENT ME!private javax.swing.JButton
checkOddButton
DOCUMENT ME!private javax.swing.ButtonGroup
destinationGroup
DOCUMENT ME!private int
displayLoc
DOCUMENT ME!private boolean
dontOpenFrame
DOCUMENT ME!private boolean
doReplace
DOCUMENT ME!private javax.swing.JLabel
exampleLabel
DOCUMENT ME!private javax.swing.JLabel
exampleLabel2
DOCUMENT ME!private ModelImage
image
DOCUMENT ME!private boolean
insertBlank
If true, insert a blank rather than a weighted averageprivate javax.swing.JRadioButton
newImage
DOCUMENT ME!private int
nSlices
DOCUMENT ME!private int
numChecked
DOCUMENT ME!private int[]
origExtents
DOCUMENT ME!private int
origNDims
DOCUMENT ME!private boolean
pressedCheckEven
DOCUMENT ME!private boolean
pressedCheckOdd
DOCUMENT ME!private javax.swing.JTextField
rangeField
DOCUMENT ME!private AlgorithmRemoveSlices
removeSlicesAlgo
DOCUMENT ME!private javax.swing.JCheckBox
replaceBox
DOCUMENT ME!private javax.swing.JRadioButton
replaceImage
DOCUMENT ME!private AlgorithmReplaceRemovedSlices
replaceSlicesAlgo
DOCUMENT ME!private ModelImage
resultImage
DOCUMENT ME!private javax.swing.JScrollPane
scrollPane
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.private boolean
successful
DOCUMENT ME!private java.lang.String[]
titles
DOCUMENT ME!private javax.swing.JButton
unCheckButton
DOCUMENT ME!static int
USER_DEFINED
DOCUMENT ME!private javax.swing.JCheckBox
useRange
DOCUMENT ME!private ViewUserInterface
userInterface
DOCUMENT ME!-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
displayInNewFrame, isComplete, scriptParameters
-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBase
applyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JDialogRemoveSlices()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogRemoveSlices(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog for removing slices.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed and calls the algorithm.void
algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented.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.protected void
doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.ModelImage
getResultImage()
Accessor that returns the image.private void
init()
Sets up the GUI (panels, buttons, etc) and displays it on the screen.boolean
isEvenSelected()
Returnstrue
if only the even image slices have been selected.boolean
isOddSelected()
Returnstrue
if only the odd image slices have been selected.boolean
isSuccessful()
Accessor that returns the whether or not the algorithm completed successfully.void
itemStateChanged(java.awt.event.ItemEvent event)
Unchanged.void
setCheckListRemove(boolean[] cl)
Accessor that sets the which slices to remove according to the boolean array paramater.void
setCheckListRemove(java.util.Vector<java.lang.String> slices)
Accessor that sets the which slices to remove according to the vector of strings.void
setCheckListRemoveEven()
Sets up so that only even slices will be removed.void
setCheckListRemoveOdd()
Sets up so that only odd slices will be removed.void
setDisplayLocNew()
Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.void
setDisplayLocReplace()
Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.void
setDontOpenFrame(boolean dontOpenFrame)
DOCUMENT ME!protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.private boolean
setVariables()
Use the GUI results to set up the variables needed to run the algorithm.protected void
storeParamsFromGUI()
Record the parameters just used to run this algorithm in a script.-
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
getDialogActionString, insertScriptLine, isComplete, scriptRun, setComplete
-
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogBase
buildApplyButton, buildButtons, buildCancelButton, buildCancelButton, buildCloseButton, buildHelpButton, buildImageComboBox, buildOKButton, buildOKButton, buildOKCancelButtons, buildTitledBorder, buildTitledBorder, createLabel, createProgressBar, createProgressBar, createTextField, focusGained, focusLost, getDialogName, isCancelled, isQuietRunning, isRunInSeparateThread, isScriptRunning, loadDefaults, loadDefaults, makeImageName, makeString, openNewFrame, saveDefaults, saveDefaults, setLeftHandSystem, setQuietRunning, setScriptRunning, setSeparateThread, setVisible, setVisible, setVisibleMenuBar, setVisibleStandard, setVOIManager, setWCSystem, testParameter, testParameterMin, updateFFTFileInfo, updateFileInfo, updateFileInfoOtherModality, updateFileInfoStatic, updateFileInfoStatic, updateFileTypeInfo, updateFileTypeInfo, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
CHECKED_EVEN
public static final int CHECKED_EVEN
DOCUMENT ME!- See Also:
- Constant Field Values
-
CHECKED_ODD
public static final int CHECKED_ODD
DOCUMENT ME!- See Also:
- Constant Field Values
-
USER_DEFINED
public static final int USER_DEFINED
DOCUMENT ME!- See Also:
- Constant Field Values
-
checkboxList
private javax.swing.JCheckBox[] checkboxList
DOCUMENT ME!
-
checkboxPanel
private javax.swing.JPanel checkboxPanel
DOCUMENT ME!
-
checkButton
private javax.swing.JButton checkButton
DOCUMENT ME!
-
checkEvenButton
private javax.swing.JButton checkEvenButton
DOCUMENT ME!
-
checkListRemove
private boolean[] checkListRemove
DOCUMENT ME!
-
checkOddButton
private javax.swing.JButton checkOddButton
DOCUMENT ME!
-
destinationGroup
private javax.swing.ButtonGroup destinationGroup
DOCUMENT ME!
-
displayLoc
private int displayLoc
DOCUMENT ME!
-
dontOpenFrame
private boolean dontOpenFrame
DOCUMENT ME!
-
doReplace
private boolean doReplace
DOCUMENT ME!
-
exampleLabel
private javax.swing.JLabel exampleLabel
DOCUMENT ME!
-
exampleLabel2
private javax.swing.JLabel exampleLabel2
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
newImage
private javax.swing.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 javax.swing.JTextField rangeField
DOCUMENT ME!
-
removeSlicesAlgo
private AlgorithmRemoveSlices removeSlicesAlgo
DOCUMENT ME!
-
replaceBox
private javax.swing.JCheckBox replaceBox
DOCUMENT ME!
-
replaceImage
private javax.swing.JRadioButton replaceImage
DOCUMENT ME!
-
replaceSlicesAlgo
private AlgorithmReplaceRemovedSlices replaceSlicesAlgo
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
scrollPane
private javax.swing.JScrollPane scrollPane
DOCUMENT ME!
-
successful
private boolean successful
DOCUMENT ME!
-
titles
private java.lang.String[] titles
DOCUMENT ME!
-
unCheckButton
private javax.swing.JButton unCheckButton
DOCUMENT ME!
-
useRange
private javax.swing.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 Detail
-
JDialogRemoveSlices
public JDialogRemoveSlices()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogRemoveSlices
public JDialogRemoveSlices(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog for removing slices.- Parameters:
theParentFrame
- Parent frameim
- Source image
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classJDialogBase
- 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 interfaceAlgorithmInterface
- 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 classJDialogScriptableBase
- 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 classJDialogScriptableBase
-
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 classJDialogScriptableBase
-
isEvenSelected
public boolean isEvenSelected()
Returnstrue
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()
Returnstrue
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(java.awt.event.ItemEvent event)
Unchanged.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in classJDialogBase
- 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(java.util.Vector<java.lang.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 classJDialogScriptableBase
-
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.
-
-