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[]checkboxListDOCUMENT ME!private javax.swing.JPanelcheckboxPanelDOCUMENT ME!private javax.swing.JButtoncheckButtonDOCUMENT ME!static intCHECKED_EVENDOCUMENT ME!static intCHECKED_ODDDOCUMENT ME!private javax.swing.JButtoncheckEvenButtonDOCUMENT ME!private boolean[]checkListRemoveDOCUMENT ME!private javax.swing.JButtoncheckOddButtonDOCUMENT ME!private javax.swing.ButtonGroupdestinationGroupDOCUMENT ME!private intdisplayLocDOCUMENT ME!private booleandontOpenFrameDOCUMENT ME!private booleandoReplaceDOCUMENT ME!private javax.swing.JLabelexampleLabelDOCUMENT ME!private javax.swing.JLabelexampleLabel2DOCUMENT ME!private ModelImageimageDOCUMENT ME!private booleaninsertBlankIf true, insert a blank rather than a weighted averageprivate javax.swing.JRadioButtonnewImageDOCUMENT ME!private intnSlicesDOCUMENT ME!private intnumCheckedDOCUMENT ME!private int[]origExtentsDOCUMENT ME!private intorigNDimsDOCUMENT ME!private booleanpressedCheckEvenDOCUMENT ME!private booleanpressedCheckOddDOCUMENT ME!private javax.swing.JTextFieldrangeFieldDOCUMENT ME!private AlgorithmRemoveSlicesremoveSlicesAlgoDOCUMENT ME!private javax.swing.JCheckBoxreplaceBoxDOCUMENT ME!private javax.swing.JRadioButtonreplaceImageDOCUMENT ME!private AlgorithmReplaceRemovedSlicesreplaceSlicesAlgoDOCUMENT ME!private ModelImageresultImageDOCUMENT ME!private javax.swing.JScrollPanescrollPaneDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private booleansuccessfulDOCUMENT ME!private java.lang.String[]titlesDOCUMENT ME!private javax.swing.JButtonunCheckButtonDOCUMENT ME!static intUSER_DEFINEDDOCUMENT ME!private javax.swing.JCheckBoxuseRangeDOCUMENT ME!private ViewUserInterfaceuserInterfaceDOCUMENT 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 voidactionPerformed(java.awt.event.ActionEvent event)Closes dialog box when the OK button is pressed and calls the algorithm.voidalgorithmPerformed(AlgorithmBase algorithm)This method is required if the AlgorithmPerformed interface is implemented.protected voidcallAlgorithm()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 voiddoPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.ModelImagegetResultImage()Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.booleanisEvenSelected()Returnstrueif only the even image slices have been selected.booleanisOddSelected()Returnstrueif only the odd image slices have been selected.booleanisSuccessful()Accessor that returns the whether or not the algorithm completed successfully.voiditemStateChanged(java.awt.event.ItemEvent event)Unchanged.voidsetCheckListRemove(boolean[] cl)Accessor that sets the which slices to remove according to the boolean array paramater.voidsetCheckListRemove(java.util.Vector<java.lang.String> slices)Accessor that sets the which slices to remove according to the vector of strings.voidsetCheckListRemoveEven()Sets up so that only even slices will be removed.voidsetCheckListRemoveOdd()Sets up so that only odd slices will be removed.voidsetDisplayLocNew()Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.voidsetDisplayLocReplace()Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.voidsetDontOpenFrame(boolean dontOpenFrame)DOCUMENT ME!protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.private booleansetVariables()Use the GUI results to set up the variables needed to run the algorithm.protected voidstoreParamsFromGUI()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:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin 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:
algorithmPerformedin 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 ParserExceptionRecord the parameters just used to run this algorithm in a script.- Specified by:
storeParamsFromGUIin 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:
setGUIFromParamsin classJDialogScriptableBase
-
doPostAlgorithmActions
protected void doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.- Overrides:
doPostAlgorithmActionsin classJDialogScriptableBase
-
isEvenSelected
public boolean isEvenSelected()
Returnstrueif only the even image slices have been selected.- Returns:
trueif only even slices selected to be removed,falseotherwise
-
isOddSelected
public boolean isOddSelected()
Returnstrueif only the odd image slices have been selected.- Returns:
trueif only odd slices selected to be removed,falseotherwise
-
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:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin 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:
callAlgorithmin 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:
trueif parameters set successfully,falseotherwise.
-
-