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 classJDialogFileInfoDICOM.CheckBoxEditorprivate classJDialogFileInfoDICOM.CheckBoxRendererprivate classJDialogFileInfoDICOM.CompareGroupprivate classJDialogFileInfoDICOM.HeaderListenerSimple listener for the table header.private static classJDialogFileInfoDICOM.RowDataprivate classJDialogFileInfoDICOM.TableListenerprivate classJDialogFileInfoDICOM.TagCodeRendererprivate classJDialogFileInfoDICOM.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.JScrollPaneanchorPaneDOCUMENT ME!private javax.swing.JButtonanonymizeButtonbuttons for toolbar *private javax.swing.JToggleButtonbogusShowPrivateButtonprivate javax.swing.JTextAreabreakDownAreaprivate javax.swing.JButtoncheckAllButtonbuttons for toolbar *private java.util.ArrayList<java.lang.String>columnNamesprivate javax.swing.JButtondeleteTagButtonbuttons for toolbar *private FileInfoDicomDicomInfoDOCUMENT ME!private java.lang.Stringdirectorydirectory of where dicom tags are save to *private JDialogDICOMDeleteTagEditoreditorDeleteTagprivate JDialogDICOMTagEditoreditorDialogDicomDOCUMENT ME!private java.util.Vector<JDialogDICOMTagEditor>editorDialogDicomListDOCUMENT ME!private JDialogDICOMNewTagEditoreditorNewTagprivate javax.swing.JButtoneditTagButtonbuttons for toolbar *private java.lang.StringfileNamefileName of where dicom tags are save to *private java.util.TreeMap<java.lang.String,java.awt.Color>groupColorMapMaps the group word to a displayed color, private tags are not specifiedprivate ModelImageimageADOCUMENT ME!private booleanisAppendDOCUMENT ME!private booleanlaunchFileChooserprivate static java.awt.ColorlightRedLight red color (used for private tags).private javax.swing.ListSelectionModellistSelectorDicomDOCUMENT ME!private javax.swing.JButtonnewTagButtonButton for inserting new tagsprivate javax.swing.JButtonoverlayButtonbuttons for toolbar *private javax.swing.JButtonsaveCheckedAppendButtonbuttons for toolbar *private javax.swing.JButtonsaveCheckedButtonbuttons for toolbar *private intselectedRowDicomDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private booleanshowPrivateDOCUMENT ME!private javax.swing.JToggleButtonshowPrivateButtonprivate intsliceIndexslice index for which fileInfo is saved *private javax.swing.JSplitPanesplitPaneprivate javax.swing.JScrollPanetablePaneDOCUMENT ME!private ViewTableModeltagsModelDOCUMENT ME!private javax.swing.JTabletagsTableDOCUMENT ME!private javax.swing.JToolBartoolBartool bar *private ViewToolBarBuildertoolbarBuilderDOCUMENT ME !private javax.swing.JPaneltoolbarPanelDOCUMENT ME!private javax.swing.JButtonuncheckAllButtonbuttons 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 voidactionPerformed(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 voidaddRow(ViewTableModel tagsModel, java.lang.Object[] rowData, boolean show)Determines whether the given row should be shown.private booleanbringToFront(java.lang.String tagKey)Checks whether or not the dialog exists; if it does, it brings the dialog to front.private voidbuildAnchorPane()private voidbuildColorMap()Builds which cells to display as light blue and green.private voidbuildTableScrollPane()A helper method to build aJScrollPaneout oftagsTableprivate voidbuildTagsModel()A helper method to build aViewTableModeland fill in DICOM tag infoprivate voidbuildTagsTable()A helper method to build aJTableout of aViewTableModelprivate voidbuildTagsTableListSelector()A helper method to build thetagsTablelist selection methodprivate voidbuildToolBarPanel()A helper method to build the toolbar with various buttons to help in the editing of DICOM tagsprotected voidcallAlgorithm()call algorithmprivate static java.lang.StringconvertType(byte[] bytesValue, boolean endianess, int vm)Converts type.voiddisplayAboutInfo(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 voidparseSQTags(ViewTableModel tagsModel, java.lang.String baseTag, FileDicomSQ sq, boolean show)private voidsaveTags()Save tags to a file in ASCII format.protected voidsetGUIFromParams()set gui from parametersstatic voidshowTags(ViewTableModel tagsModel, FileDicomTagTable DicomInfo, boolean show)Shows the "Other Image Information", with or without private tags.static voidshowTags(ViewTableModel tagsModel, FileInfoDicom DicomInfo, boolean show)Shows the "Other Image Information", with or without private tags.static voidshowTagsNoCheckbox(ViewTableModel tagsModel, FileInfoDicom DicomInfo, boolean show)Shows the "Other Image Information", with or without private tags.static voidsort(ViewTableModel model, int col, boolean reverse, boolean isInfoDialog)Sort the tag column or name column of the table model.protected voidstoreParamsFromGUI()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:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin 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 aJTableout of aViewTableModel
-
buildTagsModel
private void buildTagsModel()
A helper method to build aViewTableModeland fill in DICOM tag info
-
buildTableScrollPane
private void buildTableScrollPane()
A helper method to build aJScrollPaneout oftagsTable
-
buildTagsTableListSelector
private void buildTagsTableListSelector()
A helper method to build thetagsTablelist 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:
trueif 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:
callAlgorithmin classJDialogScriptableBase
-
setGUIFromParams
protected void setGUIFromParams()
set gui from parameters- Specified by:
setGUIFromParamsin classJDialogScriptableBase
-
storeParamsFromGUI
protected void storeParamsFromGUI() throws ParserExceptionstore parameters from gui- Specified by:
storeParamsFromGUIin classJDialogScriptableBase- Throws:
ParserException
-
-