Package gov.nih.mipav.view.dialogs
Class JDialogFileInfoDICOM
- 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.JDialogFileInfoDICOM
-
- All Implemented Interfaces:
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 JDialogFileInfoDICOM extends JDialogScriptableBase implements java.awt.event.ActionListener
This class shows the dialog which contains the DICOM header information as contained in the FileInfoDicom class. It merely brings up the dialog and does whatever preparation to make the file-info readable in the table.- Version:
- 0.2
- Author:
- parsonsd; (mostly) cut and pasted from Neva Cherniavsky's FileInfoDicom
- See Also:
FileInfoDicom
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
JDialogFileInfoDICOM.CheckBoxEditor
private class
JDialogFileInfoDICOM.CheckBoxRenderer
private class
JDialogFileInfoDICOM.CompareGroup
private class
JDialogFileInfoDICOM.HeaderListener
Simple listener for the table header.private static class
JDialogFileInfoDICOM.RowData
private class
JDialogFileInfoDICOM.TableListener
private class
JDialogFileInfoDICOM.TagCodeRenderer
private class
JDialogFileInfoDICOM.TagReferenceRenderer
-
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.JScrollPane
anchorPane
DOCUMENT ME!private javax.swing.JButton
anonymizeButton
buttons for toolbar *private javax.swing.JToggleButton
bogusShowPrivateButton
private javax.swing.JTextArea
breakDownArea
private javax.swing.JButton
checkAllButton
buttons for toolbar *private java.util.ArrayList<java.lang.String>
columnNames
private javax.swing.JButton
deleteTagButton
buttons for toolbar *private FileInfoDicom
DicomInfo
DOCUMENT ME!private java.lang.String
directory
directory of where dicom tags are save to *private JDialogDICOMDeleteTagEditor
editorDeleteTag
private JDialogDICOMTagEditor
editorDialogDicom
DOCUMENT ME!private java.util.Vector<JDialogDICOMTagEditor>
editorDialogDicomList
DOCUMENT ME!private JDialogDICOMNewTagEditor
editorNewTag
private javax.swing.JButton
editTagButton
buttons for toolbar *private java.lang.String
fileName
fileName of where dicom tags are save to *private java.util.TreeMap<java.lang.String,java.awt.Color>
groupColorMap
Maps the group word to a displayed color, private tags are not specifiedprivate ModelImage
imageA
DOCUMENT ME!private boolean
isAppend
DOCUMENT ME!private boolean
launchFileChooser
private static java.awt.Color
lightRed
Light red color (used for private tags).private javax.swing.ListSelectionModel
listSelectorDicom
DOCUMENT ME!private javax.swing.JButton
newTagButton
Button for inserting new tagsprivate javax.swing.JButton
overlayButton
buttons for toolbar *private javax.swing.JButton
saveCheckedAppendButton
buttons for toolbar *private javax.swing.JButton
saveCheckedButton
buttons for toolbar *private int
selectedRowDicom
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.private boolean
showPrivate
DOCUMENT ME!private javax.swing.JToggleButton
showPrivateButton
private int
sliceIndex
slice index for which fileInfo is saved *private javax.swing.JSplitPane
splitPane
private javax.swing.JScrollPane
tablePane
DOCUMENT ME!private ViewTableModel
tagsModel
DOCUMENT ME!private javax.swing.JTable
tagsTable
DOCUMENT ME!private javax.swing.JToolBar
toolBar
tool bar *private ViewToolBarBuilder
toolbarBuilder
DOCUMENT ME !private javax.swing.JPanel
toolbarPanel
DOCUMENT ME!private javax.swing.JButton
uncheckAllButton
buttons for toolbar *-
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 JDialogFileInfoDICOM()
Default ConstructorJDialogFileInfoDICOM(java.awt.Frame parent, java.lang.String title)
Constructs new dialog with given title and parent, non modal.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
Closes the dialog when the user clicks close and toggles private tags on and off when the user hits the "Show Private" button.private static void
addRow(ViewTableModel tagsModel, java.lang.Object[] rowData, boolean show)
Determines whether the given row should be shown.private boolean
bringToFront(java.lang.String tagKey)
Checks whether or not the dialog exists; if it does, it brings the dialog to front.private void
buildAnchorPane()
private void
buildColorMap()
Builds which cells to display as light blue and green.private void
buildTableScrollPane()
A helper method to build aJScrollPane
out oftagsTable
private void
buildTagsModel()
A helper method to build aViewTableModel
and fill in DICOM tag infoprivate void
buildTagsTable()
A helper method to build aJTable
out of aViewTableModel
private void
buildTagsTableListSelector()
A helper method to build thetagsTable
list selection methodprivate void
buildToolBarPanel()
A helper method to build the toolbar with various buttons to help in the editing of DICOM tagsprotected void
callAlgorithm()
call algorithmprivate static java.lang.String
convertType(byte[] bytesValue, boolean endianess, int vm)
Converts type.void
displayAboutInfo(ModelImage _image, FileInfoDicom _info, int sIndex)
This method displays all the valid variables, that is, the ones that are no longer equal to their default values.private static void
parseSQTags(ViewTableModel tagsModel, java.lang.String baseTag, FileDicomSQ sq, boolean show)
private void
saveTags()
Save tags to a file in ASCII format.protected void
setGUIFromParams()
set gui from parametersstatic void
showTags(ViewTableModel tagsModel, FileDicomTagTable DicomInfo, boolean show)
Shows the "Other Image Information", with or without private tags.static void
showTags(ViewTableModel tagsModel, FileInfoDicom DicomInfo, boolean show)
Shows the "Other Image Information", with or without private tags.static void
showTagsNoCheckbox(ViewTableModel tagsModel, FileInfoDicom DicomInfo, boolean show)
Shows the "Other Image Information", with or without private tags.static void
sort(ViewTableModel model, int col, boolean reverse, boolean isInfoDialog)
Sort the tag column or name column of the table model.protected void
storeParamsFromGUI()
store parameters from gui-
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
doPostAlgorithmActions, 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, itemStateChanged, 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
-
DicomInfo
private FileInfoDicom DicomInfo
DOCUMENT ME!
-
editorDialogDicom
private JDialogDICOMTagEditor editorDialogDicom
DOCUMENT ME!
-
editorNewTag
private JDialogDICOMNewTagEditor editorNewTag
-
editorDeleteTag
private JDialogDICOMDeleteTagEditor editorDeleteTag
-
editorDialogDicomList
private java.util.Vector<JDialogDICOMTagEditor> editorDialogDicomList
DOCUMENT ME!
-
imageA
private ModelImage imageA
DOCUMENT ME!
-
listSelectorDicom
private javax.swing.ListSelectionModel listSelectorDicom
DOCUMENT ME!
-
tablePane
private javax.swing.JScrollPane tablePane
DOCUMENT ME!
-
anchorPane
private javax.swing.JScrollPane anchorPane
DOCUMENT ME!
-
splitPane
private javax.swing.JSplitPane splitPane
-
selectedRowDicom
private int selectedRowDicom
DOCUMENT ME!
-
showPrivate
private boolean showPrivate
DOCUMENT ME!
-
tagsModel
private ViewTableModel tagsModel
DOCUMENT ME!
-
tagsTable
private javax.swing.JTable tagsTable
DOCUMENT ME!
-
isAppend
private boolean isAppend
DOCUMENT ME!
-
toolbarPanel
private javax.swing.JPanel toolbarPanel
DOCUMENT ME!
-
toolbarBuilder
private ViewToolBarBuilder toolbarBuilder
DOCUMENT ME !
-
saveCheckedButton
private javax.swing.JButton saveCheckedButton
buttons for toolbar *
-
saveCheckedAppendButton
private javax.swing.JButton saveCheckedAppendButton
buttons for toolbar *
-
checkAllButton
private javax.swing.JButton checkAllButton
buttons for toolbar *
-
uncheckAllButton
private javax.swing.JButton uncheckAllButton
buttons for toolbar *
-
editTagButton
private javax.swing.JButton editTagButton
buttons for toolbar *
-
deleteTagButton
private javax.swing.JButton deleteTagButton
buttons for toolbar *
-
overlayButton
private javax.swing.JButton overlayButton
buttons for toolbar *
-
anonymizeButton
private javax.swing.JButton anonymizeButton
buttons for toolbar *
-
breakDownArea
private javax.swing.JTextArea breakDownArea
-
toolBar
private javax.swing.JToolBar toolBar
tool bar *
-
showPrivateButton
private javax.swing.JToggleButton showPrivateButton
-
bogusShowPrivateButton
private javax.swing.JToggleButton bogusShowPrivateButton
-
fileName
private java.lang.String fileName
fileName of where dicom tags are save to *
-
directory
private java.lang.String directory
directory of where dicom tags are save to *
-
sliceIndex
private int sliceIndex
slice index for which fileInfo is saved *
-
launchFileChooser
private boolean launchFileChooser
-
groupColorMap
private java.util.TreeMap<java.lang.String,java.awt.Color> groupColorMap
Maps the group word to a displayed color, private tags are not specified. *
-
newTagButton
private javax.swing.JButton newTagButton
Button for inserting new tags
-
lightRed
private static final java.awt.Color lightRed
Light red color (used for private tags).
-
columnNames
private final java.util.ArrayList<java.lang.String> columnNames
-
-
Constructor Detail
-
JDialogFileInfoDICOM
public JDialogFileInfoDICOM(java.awt.Frame parent, java.lang.String title)
Constructs new dialog with given title and parent, non modal.- Parameters:
parent
- Parent of the dialog.title
- Title of the dialog.
-
JDialogFileInfoDICOM
public JDialogFileInfoDICOM()
Default Constructor
-
-
Method Detail
-
showTags
public static void showTags(ViewTableModel tagsModel, FileInfoDicom DicomInfo, boolean show)
Shows the "Other Image Information", with or without private tags.- Parameters:
tagsModel
- DOCUMENT ME!DicomInfo
- DOCUMENT ME!show
- boolean that indicates whether or not to show private tags
-
showTagsNoCheckbox
public static void showTagsNoCheckbox(ViewTableModel tagsModel, FileInfoDicom DicomInfo, boolean show)
Shows the "Other Image Information", with or without private tags.- Parameters:
tagsModel
- DOCUMENT ME!DicomInfo
- DOCUMENT ME!show
- boolean that indicates whether or not to show private tags
-
showTags
public static void showTags(ViewTableModel tagsModel, FileDicomTagTable DicomInfo, boolean show)
Shows the "Other Image Information", with or without private tags.- Parameters:
tagsModel
- DOCUMENT ME!DicomInfo
- DOCUMENT ME!show
- boolean that indicates whether or not to show private tags
-
parseSQTags
private static void parseSQTags(ViewTableModel tagsModel, java.lang.String baseTag, FileDicomSQ sq, boolean show)
-
addRow
private static void addRow(ViewTableModel tagsModel, java.lang.Object[] rowData, boolean show)
Determines whether the given row should be shown. Show indicates whether private tags are being displayed.
-
sort
public static void sort(ViewTableModel model, int col, boolean reverse, boolean isInfoDialog)
Sort the tag column or name column of the table model. If reverse is true, sorts in reverse order.- Parameters:
model
- the table model to sort oncol
- column to sort onreverse
- whether or not to sort in reverse order.isInfoDialog
- DOCUMENT ME!
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
Closes the dialog when the user clicks close and toggles private tags on and off when the user hits the "Show Private" button.Brings up a 'Sanitise dialog'--to remove potentially damaging information, like the patient's name, from the image--when user clicks the "Sanitise Image" button.
Creates editor dialogs to allow changing the value-field of a tag when user clicks "Edit Tag" button. This implmentation supports virtually any number of tag editors, bringing forward any previously opened editor. Most processing occurs when this class hears an editor window close; at that point it checks for "all slices" option in the editor and will alert any open window (frame) to set title as that information may have changed.
- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classJDialogBase
- Parameters:
e
- event that triggered this action
-
displayAboutInfo
public void displayAboutInfo(ModelImage _image, FileInfoDicom _info, int sIndex)
This method displays all the valid variables, that is, the ones that are no longer equal to their default values. It parses special types as needed and translates other strings. However, this method does not yet translate every single DICOM tag, only those most used. The others it outputs as strings.- Parameters:
_image
- The image being displayed._info
- The fileInfo to be displayed, of type FileInfoDicom.
-
buildToolBarPanel
private void buildToolBarPanel()
A helper method to build the toolbar with various buttons to help in the editing of DICOM tags
-
buildTagsTable
private void buildTagsTable()
A helper method to build aJTable
out of aViewTableModel
-
buildTagsModel
private void buildTagsModel()
A helper method to build aViewTableModel
and fill in DICOM tag info
-
buildTableScrollPane
private void buildTableScrollPane()
A helper method to build aJScrollPane
out oftagsTable
-
buildTagsTableListSelector
private void buildTagsTableListSelector()
A helper method to build thetagsTable
list selection method
-
buildAnchorPane
private void buildAnchorPane()
-
convertType
private static java.lang.String convertType(byte[] bytesValue, boolean endianess, int vm)
Converts type.- Parameters:
bytesValue
- Array of bytes to convertendianess
- DOCUMENT ME!vm
- DOCUMENT ME!- Returns:
- String with new value
-
bringToFront
private boolean bringToFront(java.lang.String tagKey)
Checks whether or not the dialog exists; if it does, it brings the dialog to front.- Parameters:
tagKey
- The tag's Key. Used to dtermine if this tag already has an editor associated with it.- Returns:
true
if both a tag with the tagkey existed in the list and the associated dialog was brought to front.
-
buildColorMap
private void buildColorMap()
Builds which cells to display as light blue and green.
-
saveTags
private void saveTags()
Save tags to a file in ASCII format.
-
callAlgorithm
protected void callAlgorithm()
call algorithm- Specified by:
callAlgorithm
in classJDialogScriptableBase
-
setGUIFromParams
protected void setGUIFromParams()
set gui from parameters- Specified by:
setGUIFromParams
in classJDialogScriptableBase
-
storeParamsFromGUI
protected void storeParamsFromGUI() throws ParserException
store parameters from gui- Specified by:
storeParamsFromGUI
in classJDialogScriptableBase
- Throws:
ParserException
-
-