com.pixelmed.display
Class DicomCleaner

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by com.pixelmed.display.ApplicationFrame
                          extended by com.pixelmed.display.DicomCleaner
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class DicomCleaner
extends ApplicationFrame

This class is an application for importing or retrieving DICOM studies, cleaning them (i.e., de-identifying them or replacing UIDs, etc.), and sending them elsewhere.

It is configured by use of a properties file that resides in the user's home directory in .com.pixelmed.display.DicomCleaner.properties.

See Also:
Serialized Form

Nested Class Summary
protected  class DicomCleaner.BlackoutActionListener
           
protected  class DicomCleaner.CleanActionListener
           
protected  class DicomCleaner.ExportActionListener
           
protected  class DicomCleaner.ImportActionListener
           
protected  class DicomCleaner.OurDestinationDatabaseTreeBrowser
           
protected  class DicomCleaner.OurDicomImageBlackout
           
protected  class DicomCleaner.OurMediaImporter
           
protected  class DicomCleaner.OurQueryTreeBrowser
           
protected  class DicomCleaner.OurReceivedObjectHandler
           
protected  class DicomCleaner.OurSourceDatabaseTreeBrowser
           
protected  class DicomCleaner.QueryActionListener
           
protected  class DicomCleaner.RetrieveActionListener
           
protected  class DicomCleaner.SendActionListener
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JCheckBox addContributingEquipmentCheckBox
           
protected  JCheckBox cleanUIDsCheckBox
           
protected  Vector currentDestinationFilePathSelections
           
protected  QueryInformationModel currentRemoteQueryInformationModel
           
protected  String currentRemoteQuerySelectionLevel
           
protected  QueryTreeRecord currentRemoteQuerySelectionQueryTreeRecord
           
protected  String currentRemoteQuerySelectionRetrieveAE
           
protected  Attribute currentRemoteQuerySelectionUniqueKey
           
protected  AttributeList currentRemoteQuerySelectionUniqueKeys
           
protected  Vector currentSourceFilePathSelections
           
protected static String defaultReplacementPatientID
           
protected static String defaultReplacementPatientName
           
protected  DatabaseInformationModel dstDatabase
           
protected  JPanel dstDatabasePanel
           
protected  String exportDirectoryPath
           
protected static String filePrefixForDicomInstanceFilesOnInterchangeMedia
           
protected static String fileSuffixForDicomInstanceFilesOnInterchangeMedia
           
protected static String nameForDicomDirectoryOnInterchangeMedia
           
protected  NetworkApplicationInformation networkApplicationInformation
           
protected  NetworkApplicationProperties networkApplicationProperties
           
protected static String propertiesFileName
           
protected static String propertyName_DicomCurrentlySelectedQueryTargetAE
           
protected static String propertyName_DicomCurrentlySelectedStorageTargetAE
           
protected  JTextField queryFilterPatientIDTextField
           
protected  JTextField queryFilterPatientNameTextField
           
protected  JTextField queryFilterStudyDateTextField
           
protected  JPanel remoteQueryRetrievePanel
           
protected  JCheckBox removeDescriptionsCheckBox
           
protected  JCheckBox removeIdentityCheckBox
           
protected  JCheckBox removePrivateCheckBox
           
protected  JTextField replacementPatientIDTextField
           
protected  JTextField replacementPatientNameTextField
           
protected static String rootNameForDicomInstanceFilesOnInterchangeMedia
           
protected  DatabaseInformationModel srcDatabase
           
protected  JPanel srcDatabasePanel
           
 
Fields inherited from class com.pixelmed.display.ApplicationFrame
releaseString, statusBarManager
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DicomCleaner(String title)
           
 
Method Summary
protected  void activateStorageSCP(File savedImagesFolder)
          Start DICOM storage listener for populating source database.
protected  void activateTemporaryDatabases()
          Start two databases, one for the "source" instances and one for the "target" instances.
protected  void copyFromOriginalToCleanedPerformingAction(Vector paths)
           
protected  void createGUI()
          Do what is necessary to build an application window that closes when told.
protected static void importFileIntoDatabase(DatabaseInformationModel database, String dicomFileName)
           
static void main(String[] arg)
          The method to invoke the application.
protected  String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount)
           
protected  void performRetrieve(AttributeList uniqueKeys, String selectionLevel, String retrieveAE)
           
protected  void setCurrentRemoteQueryInformationModel(String remoteAEForQuery)
           
protected  void setCurrentRemoteQuerySelection(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)
           
 
Methods inherited from class com.pixelmed.display.ApplicationFrame
getApplicationPropertyFileName, getBuildDate, getProperties, getPropertyInsistently, getPropertyInsistently, getReleaseString, getStatusBar, loadProperties, makePathToFileInUsersHomeDirectory, setApplicationPropertyFileName, setInternationalizedFontsForGUI, storeProperties, takeSnapShot
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, isOpaque, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

propertiesFileName

protected static String propertiesFileName

propertyName_DicomCurrentlySelectedStorageTargetAE

protected static String propertyName_DicomCurrentlySelectedStorageTargetAE

propertyName_DicomCurrentlySelectedQueryTargetAE

protected static String propertyName_DicomCurrentlySelectedQueryTargetAE

defaultReplacementPatientName

protected static String defaultReplacementPatientName

defaultReplacementPatientID

protected static String defaultReplacementPatientID

srcDatabase

protected DatabaseInformationModel srcDatabase

dstDatabase

protected DatabaseInformationModel dstDatabase

srcDatabasePanel

protected JPanel srcDatabasePanel

dstDatabasePanel

protected JPanel dstDatabasePanel

remoteQueryRetrievePanel

protected JPanel remoteQueryRetrievePanel

removeIdentityCheckBox

protected JCheckBox removeIdentityCheckBox

removeDescriptionsCheckBox

protected JCheckBox removeDescriptionsCheckBox

cleanUIDsCheckBox

protected JCheckBox cleanUIDsCheckBox

removePrivateCheckBox

protected JCheckBox removePrivateCheckBox

addContributingEquipmentCheckBox

protected JCheckBox addContributingEquipmentCheckBox

replacementPatientNameTextField

protected JTextField replacementPatientNameTextField

replacementPatientIDTextField

protected JTextField replacementPatientIDTextField

queryFilterPatientNameTextField

protected JTextField queryFilterPatientNameTextField

queryFilterPatientIDTextField

protected JTextField queryFilterPatientIDTextField

queryFilterStudyDateTextField

protected JTextField queryFilterStudyDateTextField

networkApplicationProperties

protected NetworkApplicationProperties networkApplicationProperties

networkApplicationInformation

protected NetworkApplicationInformation networkApplicationInformation

currentRemoteQueryInformationModel

protected QueryInformationModel currentRemoteQueryInformationModel

currentRemoteQuerySelectionQueryTreeRecord

protected QueryTreeRecord currentRemoteQuerySelectionQueryTreeRecord

currentRemoteQuerySelectionUniqueKeys

protected AttributeList currentRemoteQuerySelectionUniqueKeys

currentRemoteQuerySelectionUniqueKey

protected Attribute currentRemoteQuerySelectionUniqueKey

currentRemoteQuerySelectionRetrieveAE

protected String currentRemoteQuerySelectionRetrieveAE

currentRemoteQuerySelectionLevel

protected String currentRemoteQuerySelectionLevel

currentSourceFilePathSelections

protected Vector currentSourceFilePathSelections

currentDestinationFilePathSelections

protected Vector currentDestinationFilePathSelections

exportDirectoryPath

protected