com.pixelmed.display
Class DicomCleaner
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
com.pixelmed.display.ApplicationFrame
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.
It supports import and network retrieval of uncompressed, deflate and bzip compressed,
and baseline JPEG compressed images (but not yet other encapsulated compressed pixel data).
- See Also:
- Serialized Form
| 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 |
|
Method Summary |
protected void |
activateStorageSCP()
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,
MessageLogger logger,
JProgressBar progressBar)
|
protected void |
createGUI()
Do what is necessary to build an application window that closes when told. |
protected boolean |
haveJPEG2000Part1Codec()
|
protected boolean |
haveJPEGLosslessCodec()
|
protected static void |
importFileIntoDatabase(DatabaseInformationModel database,
String dicomFileName,
String fileReferenceType)
|
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 |
purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection,
MessageLogger logger,
JProgressBar progressBar,
int done,
int maximum)
|
protected void |
setCurrentRemoteQueryInformationModel(String remoteAEForQuery)
|
protected void |
setCurrentRemoteQuerySelection(AttributeList uniqueKeys,
Attribute uniqueKey,
AttributeList identifier)
|
protected static void |
updateProgressBase(JProgressBar progressBar,
int done,
int maximum)
|
| 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, paint, 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, 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 |
resourceBundleName
protected static String resourceBundleName
propertiesFileName
protected static String propertiesFileName
propertyName_DicomCurrentlySelectedStorageTargetAE
protected static String propertyName_DicomCurrentlySelectedStorageTargetAE
propertyName_DicomCurrentlySelectedQueryTargetAE
protected static String propertyName_DicomCurrentlySelectedQueryTargetAE
rootNameForDicomInstanceFilesOnInterchangeMedia
protected static String rootNameForDicomInstanceFilesOnInterchangeMedia
filePrefixForDicomInstanceFilesOnInterchangeMedia
protected static String filePrefixForDicomInstanceFilesOnInterchangeMedia
fileSuffixForDicomInstanceFilesOnInterchangeMedia
protected static String fileSuffixForDicomInstanceFilesOnInterchangeMedia
nameForDicomDirectoryOnInterchangeMedia
protected static String nameForDicomDirectoryOnInterchangeMedia
exportedZipFileName
protected static String exportedZipFileName
textFieldLengthForQueryPatientName
protected static int textFieldLengthForQueryPatientName
textFieldLengthForQueryPatientID
protected static int textFieldLengthForQueryPatientID
textFieldLengthForQueryStudyDate
protected static int textFieldLengthForQueryStudyDate
textFieldLengthForReplacementPatientName
protected static int textFieldLengthForReplacementPatientName
textFieldLengthForReplacementPatientID
protected static int textFieldLengthForReplacementPatientID
textFieldLengthForReplacementAccessionNumber
protected static int textFieldLengthForReplacementAccessionNumber
resourceBundle
protected ResourceBundle resourceBundle
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
removeSeriesDescriptionsCheckBox
protected JCheckBox removeSeriesDescriptionsCheckBox
removeCharacteristicsCheckBox
protected JCheckBox removeCharacteristicsCheckBox
removeDeviceIdentityCheckBox
protected JCheckBox removeDeviceIdentityCheckBox
removeInstitutionIdentityCheckBox
protected JCheckBox removeInstitutionIdentityCheckBox
cleanUIDsCheckBox
protected JCheckBox cleanUIDsCheckBox
removePrivateCheckBox
protected JCheckBox removePrivateCheckBox
addContributingEquipmentCheckBox
protected JCheckBox addContributingEquipmentCheckBox
removeClinicalTrialAttributesBox
protected JCheckBox removeClinicalTrialAttributesBox
zipExportCheckBox
protected JCheckBox zipExportCheckBox
replacePatientNameCheckBox
protected JCheckBox replacePatientNameCheckBox
replacePatientIDCheckBox
protected JCheckBox replacePatientIDCheckBox
replaceAccessionNumberCheckBox
protected JCheckBox replaceAccessionNumberCheckBox
replacementPatientNameTextField
protected JTextField replacementPatientNameTextField
replacementPatientIDTextField
protected JTextField replacementPatientIDTextField
replacementAccessionNumberTextField
protected JTextField replacementAccessionNumberTextField
queryFilterPatientNameTextField
protected JTextField queryFilterPatientNameTextField
queryFilterPatientIDTextField
protected JTextField queryFilterPatientIDTextField
queryFilterStudyDateTextField
protected JTextField queryFilterStudyDateTextField
progressBar
protected JProgressBar progressBar
logger
protected MessageLogger logger
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
ourCalledAETitle
protected String ourCalledAETitle
haveScannedForCodecs
protected static boolean haveScannedForCodecs
haveCheckedForJPEGLosslessCodec
protected static boolean haveCheckedForJPEGLosslessCodec
haveFoundJPEGLosslessCodec
protected static boolean haveFoundJPEGLosslessCodec
haveCheckedForJPEG2000Part1Codec
protected static boolean haveCheckedForJPEG2000Part1Codec
haveFoundJPEG2000Part1Codec
protected static boolean haveFoundJPEG2000Part1Codec
savedImagesFolder
protected File savedImagesFolder
storageSOPClassSCPDispatcher
protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher
currentSourceDatabaseSelection
protected DatabaseTreeRecord currentSourceDatabaseSelection
currentSourceFilePathSelections
protected Vector currentSourceFilePathSelections
currentDestinationDatabaseSelection
protected DatabaseTreeRecord currentDestinationDatabaseSelection
currentDestinationFilePathSelections
protected Vector currentDestinationFilePathSelections
exportDirectoryPath
protected String exportDirectoryPath
DicomCleaner
public DicomCleaner()
throws DicomException,
IOException
- Throws:
DicomException
IOException
haveJPEGLosslessCodec
protected boolean haveJPEGLosslessCodec()
haveJPEG2000Part1Codec
protected boolean haveJPEG2000Part1Codec()
setCurrentRemoteQueryInformationModel
protected void setCurrentRemoteQueryInformationModel(String remoteAEForQuery)
importFileIntoDatabase
protected static void importFileIntoDatabase(DatabaseInformationModel database,
String dicomFileName,
String fileReferenceType)
throws FileNotFoundException,
IOException,
DicomException
- Throws:
FileNotFoundException
IOException
DicomException
activateStorageSCP
protected void activateStorageSCP()
throws DicomException,
IOException
Start DICOM storage listener for populating source database.
- Throws:
DicomException
IOException
activateTemporaryDatabases
protected void activateTemporaryDatabases()
throws DicomException
Start two databases, one for the "source" instances and one for the "target" instances.
Neither will persist when the application is closed, so in memory databases
only are used and instances live in the temporary filesystem.
- Throws:
DicomException
updateProgressBase
protected static void updateProgressBase(JProgressBar progressBar,
int done,
int maximum)
purgeFilesAndDatabaseInformation
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection,
MessageLogger logger,
JProgressBar progressBar,
int done,
int maximum)
throws DicomException,
IOException
- Throws:
DicomException
IOException
copyFromOriginalToCleanedPerformingAction
protected void copyFromOriginalToCleanedPerformingAction(Vector paths,
MessageLogger logger,
JProgressBar progressBar)
throws DicomException,
IOException
- Throws:
DicomException
IOException
makeNewFullyQualifiedInterchangeMediaInstancePathName
protected String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount)
throws IOException
- Throws:
IOException
setCurrentRemoteQuerySelection
protected void setCurrentRemoteQuerySelection(AttributeList uniqueKeys,
Attribute uniqueKey,
AttributeList identifier)
performRetrieve
protected void performRetrieve(AttributeList uniqueKeys,
String selectionLevel,
String retrieveAE)
createGUI
protected void createGUI()
- Description copied from class:
ApplicationFrame
Do what is necessary to build an application window that closes when told.
- Overrides:
createGUI in class ApplicationFrame
main
public static void main(String[] arg)
The method to invoke the application.
- Parameters:
arg - none