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:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.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
. The properties allow control over the user interface elements that are displayed and record the settings changed by the user when the application closes.For a description of the network configuration properties, see
NetworkApplicationProperties
.The properties that are specific to the application, and their default values, are as follows
Application.Allow.ChangeDatesAndTimes=true
- display the change dates and times panelApplication.Allow.CheckBox.AcceptAnyTransferSyntax=true
- display the checkboxApplication.Allow.CheckBox.AddContributingEquipment=true
- display the checkboxApplication.Allow.CheckBox.AggregateAgesOver89=true
- display the checkboxApplication.Allow.CheckBox.CleanUIDs=true
- display the checkboxApplication.Allow.CheckBox.HierarchicalExport=true
- display the checkboxApplication.Allow.CheckBox.RemoveCharacteristics=true
- display the checkboxApplication.Allow.CheckBox.RemoveClinicalTrialAttributes=true
- display the checkboxApplication.Allow.CheckBox.RemoveAllStructuredContent=true
- display the checkboxApplication.Allow.CheckBox.RemoveUnsafeStructuredContent=true
- display the checkboxApplication.Allow.CheckBox.RemoveDescriptions=true
- display the checkboxApplication.Allow.CheckBox.RemoveDeviceIdentity=true
- display the checkboxApplication.Allow.CheckBox.RemoveIdentity=true
- display the checkboxApplication.Allow.CheckBox.RemoveInstitutionIdentity=true
- display the checkboxApplication.Allow.CheckBox.RemovePrivate=true
- display the checkboxApplication.Allow.CheckBox.RemoveProtocolName=true
- display the checkboxApplication.Allow.CheckBox.RemoveSeriesDescriptions=true
- display the checkboxApplication.Allow.CheckBox.ZipExport=true
- display the checkboxApplication.Allow.NetworkConfiguration=true
- display the Configure buttonApplication.Allow.UserQuery=true
- display the query/retrieve buttons, results panel and keys panelApplication.CheckBox.IsSelected.AcceptAnyTransferSyntax=false
- selection status of the checkboxApplication.CheckBox.IsSelected.AddContributingEquipment=true
- selection status of the checkboxApplication.CheckBox.IsSelected.AggregateAgesOver89=true
- selection status of the checkboxApplication.CheckBox.IsSelected.CleanUIDs=true
- selection status of the checkboxApplication.CheckBox.IsSelected.HierarchicalExport=false
- selection status of the checkboxApplication.CheckBox.IsSelected.ModifyDates=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveCharacteristics=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveClinicalTrialAttributes=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveAllStructuredContent=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveUnsafeStructuredContent=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveDescriptions=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveDeviceIdentity=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveIdentity=true
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveInstitutionIdentity=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemovePrivate=true
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveProtocolName=false
- selection status of the checkboxApplication.CheckBox.IsSelected.RemoveSeriesDescriptions=false
- selection status of the checkboxApplication.CheckBox.IsSelected.ReplaceAccessionNumber=true
- selection status ofthe checkboxApplication.CheckBox.IsSelected.ReplacePatientID=true
- selection status of the checkboxApplication.CheckBox.IsSelected.ReplacePatientBirthDate=false
- selection status of the checkboxApplication.CheckBox.IsSelected.ReplacePatientName=true
- selection status of the checkboxApplication.CheckBox.IsSelected.ZipExport=false
- selection status of the checkboxApplication.ModifyDatesEpoch=20000101
- text value of the dates epochApplication.ReplacementText.AccessionNumber=
- text value of the Accession Number replacement fieldApplication.ReplacementText.PatientID=NOID
- text value of Patient ID replacement fieldApplication.ReplacementText.PatientBirthDate=19700101
- text value of Patient Birth Date replacement fieldApplication.ReplacementText.PatientName=NAME^NONE
- text value of Patient Name replacement fieldApplication.RandomReplacementPatientNamePrefix=Anon^
- prefix for random value of Patient Name replacement fieldApplication.RandomReplacementPatientIDLength=16
- length for zero padded random value of Patient ID (and Patient Name suffix) replacement fieldApplication.RandomReplacementAccessionNumberLength=16
- length for zero padded random value of Accession Number replacement fieldApplication.DialogLogger.showDateTime=true
- prepend log entries with a time stampApplication.DialogLogger.dateTimeFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ
- the format for the time stamp in java.text.SimpleDateFormat format (if absent, milliseconds since starting)- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
-
Fields inherited from class com.pixelmed.display.ApplicationFrame
statusBarManager
-
Fields inherited from class java.awt.Frame
ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, NORMAL
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description DicomCleaner()
DicomCleaner(java.lang.String pathName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 boolean
copyFromOriginalToCleanedPerformingAction(java.util.Vector paths, java.util.Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater)
protected static java.util.Date
findEarliestDate(java.util.Map<java.lang.String,java.util.Date> earliestDatesIndexedBySourceFilePath, java.util.Vector<java.lang.String> sourceFilePathSelections)
protected static void
importFileIntoDatabase(DatabaseInformationModel database, java.lang.String dicomFileName, java.lang.String fileReferenceType, java.util.Map<java.lang.String,java.util.Date> earliestDatesIndexedBySourceFilePath)
static void
main(java.lang.String[] arg)
The method to invoke the application.protected java.lang.String
makeNewFullyQualifiedHierarchicalInstancePathName(java.lang.String sourceFileName)
protected java.lang.String
makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount)
protected void
performRetrieve(AttributeList uniqueKeys, java.lang.String selectionLevel, java.lang.String retrieveAE)
protected void
purgeFilesAndDatabaseInformation(DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)
protected void
purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)
protected void
setCurrentRemoteQueryInformationModel(java.lang.String remoteAEForQuery)
protected void
setCurrentRemoteQuerySelection(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)
-
Methods inherited from class com.pixelmed.display.ApplicationFrame
createGUI, getApplicationPropertyFileName, getBooleanPropertyOrDefaultAndAddIt, getBooleanPropertyOrDefaultAndAddIt, getBuildDate, getIntegerPropertyOrDefaultAndAddIt, getIntegerPropertyOrDefaultAndAddIt, getProperties, getPropertyInsistently, getPropertyInsistently, getPropertyOrDefaultAndAddIt, getPropertyOrDefaultAndAddIt, getReleaseString, getStatusBar, loadProperties, localizeJOptionPane, makePathToFileInUsersHomeDirectory, setApplicationPropertyFileName, setBackgroundForGUI, setInternationalizedFontsForGUI, setPreferredLookAndFeelForPlatform, 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, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, 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, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, paintComponents, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, 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, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, list, list, list, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
resourceBundleName
protected static java.lang.String resourceBundleName
-
propertiesFileName
protected static java.lang.String propertiesFileName
-
propertyName_DicomCurrentlySelectedStorageTargetAE
protected static java.lang.String propertyName_DicomCurrentlySelectedStorageTargetAE
-
propertyName_DicomCurrentlySelectedQueryTargetAE
protected static java.lang.String propertyName_DicomCurrentlySelectedQueryTargetAE
-
propertyName_AllowUserQuery
protected static java.lang.String propertyName_AllowUserQuery
-
propertyName_AllowNetworkConfiguration
protected static java.lang.String propertyName_AllowNetworkConfiguration
-
propertyName_AllowChangeDatesAndTimes
protected static java.lang.String propertyName_AllowChangeDatesAndTimes
-
propertyName_AllowRemoveIdentityCheckBox
protected static java.lang.String propertyName_AllowRemoveIdentityCheckBox
-
propertyName_AllowRemoveDescriptionsCheckBox
protected static java.lang.String propertyName_AllowRemoveDescriptionsCheckBox
-
propertyName_AllowRemoveSeriesDescriptionsCheckBox
protected static java.lang.String propertyName_AllowRemoveSeriesDescriptionsCheckBox
-
propertyName_AllowRemoveProtocolNameCheckBox
protected static java.lang.String propertyName_AllowRemoveProtocolNameCheckBox
-
propertyName_AllowRemoveCharacteristicsCheckBox
protected static java.lang.String propertyName_AllowRemoveCharacteristicsCheckBox
-
propertyName_AllowRemoveDeviceIdentityCheckBox
protected static java.lang.String propertyName_AllowRemoveDeviceIdentityCheckBox
-
propertyName_AllowRemoveInstitutionIdentityCheckBox
protected static java.lang.String propertyName_AllowRemoveInstitutionIdentityCheckBox
-
propertyName_AllowCleanUIDsCheckBox
protected static java.lang.String propertyName_AllowCleanUIDsCheckBox
-
propertyName_AllowRemovePrivateCheckBox
protected static java.lang.String propertyName_AllowRemovePrivateCheckBox
-
propertyName_AllowAddContributingEquipmentCheckBox
protected static java.lang.String propertyName_AllowAddContributingEquipmentCheckBox
-
propertyName_AllowRemoveClinicalTrialAttributesCheckBox
protected static java.lang.String propertyName_AllowRemoveClinicalTrialAttributesCheckBox
-
propertyName_AllowRemoveAllStructuredContentCheckBox
protected static java.lang.String propertyName_AllowRemoveAllStructuredContentCheckBox
-
propertyName_AllowRemoveUnsafeStructuredContentCheckBox
protected static java.lang.String propertyName_AllowRemoveUnsafeStructuredContentCheckBox
-
propertyName_AllowZipExportCheckBox
protected static java.lang.String propertyName_AllowZipExportCheckBox
-
propertyName_AllowHierarchicalExportCheckBox
protected static java.lang.String propertyName_AllowHierarchicalExportCheckBox
-
propertyName_AllowAcceptAnyTransferSyntaxCheckBox
protected static java.lang.String propertyName_AllowAcceptAnyTransferSyntaxCheckBox
-
propertyName_AllowAggregateAgesOver89CheckBox
protected static java.lang.String propertyName_AllowAggregateAgesOver89CheckBox
-
propertyName_ReplacementTextPatientName
protected static java.lang.String propertyName_ReplacementTextPatientName
-
propertyName_ReplacementTextPatientID
protected static java.lang.String propertyName_ReplacementTextPatientID
-
propertyName_ReplacementTextPatientBirthDate
protected static java.lang.String propertyName_ReplacementTextPatientBirthDate
-
propertyName_ReplacementTextAccessionNumber
protected static java.lang.String propertyName_ReplacementTextAccessionNumber
-
propertyName_ShowDateTime
protected static java.lang.String propertyName_ShowDateTime
-
propertyName_DateTimeFormat
protected static java.lang.String propertyName_DateTimeFormat
-
propertyName_CheckBoxReplacePatientNameIsSelected
protected static java.lang.String propertyName_CheckBoxReplacePatientNameIsSelected
-
propertyName_CheckBoxReplacePatientIDIsSelected
protected static java.lang.String propertyName_CheckBoxReplacePatientIDIsSelected
-
propertyName_CheckBoxReplacePatientBirthDateIsSelected
protected static java.lang.String propertyName_CheckBoxReplacePatientBirthDateIsSelected
-
propertyName_CheckBoxReplaceAccessionNumberIsSelected
protected static java.lang.String propertyName_CheckBoxReplaceAccessionNumberIsSelected
-
propertyName_CheckBoxModifyDatesIsSelected
protected static java.lang.String propertyName_CheckBoxModifyDatesIsSelected
-
propertyName_ModifyDatesEpoch
protected static java.lang.String propertyName_ModifyDatesEpoch
-
propertyName_CheckBoxRemoveIdentityIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveIdentityIsSelected
-
propertyName_CheckBoxRemoveDescriptionsIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveDescriptionsIsSelected
-
propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected
-
propertyName_CheckBoxRemoveProtocolNameIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveProtocolNameIsSelected
-
propertyName_CheckBoxRemoveCharacteristicsIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveCharacteristicsIsSelected
-
propertyName_CheckBoxRemoveDeviceIdentityIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveDeviceIdentityIsSelected
-
propertyName_CheckBoxRemoveInstitutionIdentityIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveInstitutionIdentityIsSelected
-
propertyName_CheckBoxCleanUIDsIsSelected
protected static java.lang.String propertyName_CheckBoxCleanUIDsIsSelected
-
propertyName_CheckBoxRemovePrivateIsSelected
protected static java.lang.String propertyName_CheckBoxRemovePrivateIsSelected
-
propertyName_CheckBoxAddContributingEquipmentIsSelected
protected static java.lang.String propertyName_CheckBoxAddContributingEquipmentIsSelected
-
propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected
-
propertyName_CheckBoxRemoveAllStructuredContentIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveAllStructuredContentIsSelected
-
propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected
-
propertyName_CheckBoxZipExportIsSelected
protected static java.lang.String propertyName_CheckBoxZipExportIsSelected
-
propertyName_CheckBoxHierarchicalExportIsSelected
protected static java.lang.String propertyName_CheckBoxHierarchicalExportIsSelected
-
propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected
protected static java.lang.String propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected
-
propertyName_CheckBoxAggregateAgesOver89IsSelected
protected static java.lang.String propertyName_CheckBoxAggregateAgesOver89IsSelected
-
propertyName_RandomReplacementPatientNamePrefix
protected static java.lang.String propertyName_RandomReplacementPatientNamePrefix
-
propertyName_RandomReplacementPatientIDLength
protected static java.lang.String propertyName_RandomReplacementPatientIDLength
-
propertyName_RandomReplacementAccessionNumberLength
protected static java.lang.String propertyName_RandomReplacementAccessionNumberLength
-
default_CheckBoxReplacePatientNameIsSelected
protected static boolean default_CheckBoxReplacePatientNameIsSelected
-
default_CheckBoxReplacePatientIDIsSelected
protected static boolean default_CheckBoxReplacePatientIDIsSelected
-
default_CheckBoxReplacePatientBirthDateIsSelected
protected static boolean default_CheckBoxReplacePatientBirthDateIsSelected
-
default_CheckBoxReplaceAccessionNumberIsSelected
protected static boolean default_CheckBoxReplaceAccessionNumberIsSelected
-
default_CheckBoxModifyDatesIsSelected
protected static boolean default_CheckBoxModifyDatesIsSelected
-
default_CheckBoxRemoveIdentityIsSelected
protected static boolean default_CheckBoxRemoveIdentityIsSelected
-
default_CheckBoxRemoveDescriptionsIsSelected
protected static boolean default_CheckBoxRemoveDescriptionsIsSelected
-
default_CheckBoxRemoveSeriesDescriptionsIsSelected
protected static boolean default_CheckBoxRemoveSeriesDescriptionsIsSelected
-
default_CheckBoxRemoveProtocolNameIsSelected
protected static boolean default_CheckBoxRemoveProtocolNameIsSelected
-
default_CheckBoxRemoveCharacteristicsIsSelected
protected static boolean default_CheckBoxRemoveCharacteristicsIsSelected
-
default_CheckBoxRemoveDeviceIdentityIsSelected
protected static boolean default_CheckBoxRemoveDeviceIdentityIsSelected
-
default_CheckBoxRemoveInstitutionIdentityIsSelected
protected static boolean default_CheckBoxRemoveInstitutionIdentityIsSelected
-
default_CheckBoxCleanUIDsIsSelected
protected static boolean default_CheckBoxCleanUIDsIsSelected
-
default_CheckBoxRemovePrivateIsSelected
protected static boolean default_CheckBoxRemovePrivateIsSelected
-
default_CheckBoxAddContributingEquipmentIsSelected
protected static boolean default_CheckBoxAddContributingEquipmentIsSelected
-
default_CheckBoxRemoveClinicalTrialAttributesIsSelected
protected static boolean default_CheckBoxRemoveClinicalTrialAttributesIsSelected
-
default_CheckBoxRemoveAllStructuredContentIsSelected
protected static boolean default_CheckBoxRemoveAllStructuredContentIsSelected
-
default_CheckBoxRemoveUnsafeStructuredContentIsSelected
protected static boolean default_CheckBoxRemoveUnsafeStructuredContentIsSelected
-
default_CheckBoxZipExportIsSelected
protected static boolean default_CheckBoxZipExportIsSelected
-
default_CheckBoxHierarchicalExportIsSelected
protected static boolean default_CheckBoxHierarchicalExportIsSelected
-
default_CheckBoxAcceptAnyTransferSyntaxIsSelected
protected static boolean default_CheckBoxAcceptAnyTransferSyntaxIsSelected
-
default_CheckBoxAggregateAgesOver89IsSelected
protected static boolean default_CheckBoxAggregateAgesOver89IsSelected
-
default_ShowDateTime
protected static boolean default_ShowDateTime
-
default_DateTimeFormat
protected static java.lang.String default_DateTimeFormat
-
default_RandomReplacementPatientIDLength
protected static int default_RandomReplacementPatientIDLength
-
default_RandomReplacementAccessionNumberLength
protected static int default_RandomReplacementAccessionNumberLength
-
rootNameForDicomInstanceFilesOnInterchangeMedia
protected static java.lang.String rootNameForDicomInstanceFilesOnInterchangeMedia
-
filePrefixForDicomInstanceFilesOnInterchangeMedia
protected static java.lang.String filePrefixForDicomInstanceFilesOnInterchangeMedia
-
fileSuffixForDicomInstanceFilesOnInterchangeMedia
protected static java.lang.String fileSuffixForDicomInstanceFilesOnInterchangeMedia
-
nameForDicomDirectoryOnInterchangeMedia
protected static java.lang.String nameForDicomDirectoryOnInterchangeMedia
-
exportedZipFileName
protected static java.lang.String exportedZipFileName
-
textFieldLengthForQueryPatientName
protected static int textFieldLengthForQueryPatientName
-
textFieldLengthForQueryPatientID
protected static int textFieldLengthForQueryPatientID
-
textFieldLengthForQueryStudyDate
protected static int textFieldLengthForQueryStudyDate
-
textFieldLengthForQueryAccessionNumber
protected static int textFieldLengthForQueryAccessionNumber
-
textFieldLengthForReplacementPatientName
protected static int textFieldLengthForReplacementPatientName
-
textFieldLengthForReplacementPatientID
protected static int textFieldLengthForReplacementPatientID
-
textFieldLengthForReplacementPatientBirthDate
protected static int textFieldLengthForReplacementPatientBirthDate
-
textFieldLengthForReplacementAccessionNumber
protected static int textFieldLengthForReplacementAccessionNumber
-
textFieldLengthForModifyDates
protected static int textFieldLengthForModifyDates
-
resourceBundle
protected java.util.ResourceBundle resourceBundle
-
srcDatabase
protected DatabaseInformationModel srcDatabase
-
dstDatabase
protected DatabaseInformationModel dstDatabase
-
srcDatabasePanel
protected javax.swing.JPanel srcDatabasePanel
-
dstDatabasePanel
protected javax.swing.JPanel dstDatabasePanel
-
remoteQueryRetrievePanel
protected javax.swing.JPanel remoteQueryRetrievePanel
-
removeIdentityCheckBox
protected javax.swing.JCheckBox removeIdentityCheckBox
-
removeDescriptionsCheckBox
protected javax.swing.JCheckBox removeDescriptionsCheckBox
-
removeSeriesDescriptionsCheckBox
protected javax.swing.JCheckBox removeSeriesDescriptionsCheckBox
-
removeProtocolNameCheckBox
protected javax.swing.JCheckBox removeProtocolNameCheckBox
-
removeCharacteristicsCheckBox
protected javax.swing.JCheckBox removeCharacteristicsCheckBox
-
removeDeviceIdentityCheckBox
protected javax.swing.JCheckBox removeDeviceIdentityCheckBox
-
removeInstitutionIdentityCheckBox
protected javax.swing.JCheckBox removeInstitutionIdentityCheckBox
-
cleanUIDsCheckBox
protected javax.swing.JCheckBox cleanUIDsCheckBox
-
removePrivateCheckBox
protected javax.swing.JCheckBox removePrivateCheckBox
-
addContributingEquipmentCheckBox
protected javax.swing.JCheckBox addContributingEquipmentCheckBox
-
removeClinicalTrialAttributesCheckBox
protected javax.swing.JCheckBox removeClinicalTrialAttributesCheckBox
-
removeAllStructuredContentCheckBox
protected javax.swing.JCheckBox removeAllStructuredContentCheckBox
-
removeUnsafeStructuredContentCheckBox
protected javax.swing.JCheckBox removeUnsafeStructuredContentCheckBox
-
zipExportCheckBox
protected javax.swing.JCheckBox zipExportCheckBox
-
hierarchicalExportCheckBox
protected javax.swing.JCheckBox hierarchicalExportCheckBox
-
acceptAnyTransferSyntaxCheckBox
protected javax.swing.JCheckBox acceptAnyTransferSyntaxCheckBox
-
aggregateAgesOver89CheckBox
protected javax.swing.JCheckBox aggregateAgesOver89CheckBox
-
replacePatientNameCheckBox
protected javax.swing.JCheckBox replacePatientNameCheckBox
-
replacePatientIDCheckBox
protected javax.swing.JCheckBox replacePatientIDCheckBox
-
replacePatientBirthDateCheckBox
protected javax.swing.JCheckBox replacePatientBirthDateCheckBox
-
replaceAccessionNumberCheckBox
protected javax.swing.JCheckBox replaceAccessionNumberCheckBox
-
modifyDatesCheckBox
protected javax.swing.JCheckBox modifyDatesCheckBox
-
replacementPatientNameTextField
protected javax.swing.JTextField replacementPatientNameTextField
-
replacementPatientIDTextField
protected javax.swing.JTextField replacementPatientIDTextField
-
replacementPatientBirthDateTextField
protected javax.swing.JTextField replacementPatientBirthDateTextField
-
replacementAccessionNumberTextField
protected javax.swing.JTextField replacementAccessionNumberTextField
-
modifyDatesTextField
protected javax.swing.JTextField modifyDatesTextField
-
queryFilterPatientNameTextField
protected javax.swing.JTextField queryFilterPatientNameTextField
-
queryFilterPatientIDTextField
protected javax.swing.JTextField queryFilterPatientIDTextField
-
queryFilterStudyDateTextField
protected javax.swing.JTextField queryFilterStudyDateTextField
-
queryFilterAccessionNumberTextField
protected javax.swing.JTextField queryFilterAccessionNumberTextField
-
randomReplacementPatientNamePrefix
protected java.lang.String randomReplacementPatientNamePrefix
-
randomReplacementPatientIDLength
protected int randomReplacementPatientIDLength
-
randomReplacementAccessionNumberLength
protected int randomReplacementAccessionNumberLength
-
progressBarUpdater
protected SafeProgressBarUpdaterThread progressBarUpdater
-
cursorChanger
protected SafeCursorChanger cursorChanger
-
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 java.lang.String currentRemoteQuerySelectionRetrieveAE
-
currentRemoteQuerySelectionLevel
protected java.lang.String currentRemoteQuerySelectionLevel
-
ourCalledAETitle
protected java.lang.String ourCalledAETitle
-
earliestDatesIndexedBySourceFilePath
protected java.util.Map<java.lang.String,java.util.Date> earliestDatesIndexedBySourceFilePath
-
savedImagesFolder
protected java.io.File savedImagesFolder
-
storageSOPClassSCPDispatcher
protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher
-
currentSourceDatabaseSelections
protected DatabaseTreeRecord[] currentSourceDatabaseSelections
-
currentSourceFilePathSelections
protected java.util.Vector currentSourceFilePathSelections
-
currentDestinationDatabaseSelections
protected DatabaseTreeRecord[] currentDestinationDatabaseSelections
-
currentDestinationFilePathSelections
protected java.util.Vector currentDestinationFilePathSelections
-
importDirectoryPath
protected java.lang.String importDirectoryPath
-
exportDirectoryPath
protected java.lang.String exportDirectoryPath
-
-
Constructor Detail
-
DicomCleaner
public DicomCleaner() throws DicomException, java.io.IOException
- Throws:
DicomException
java.io.IOException
-
DicomCleaner
public DicomCleaner(java.lang.String pathName) throws DicomException, java.io.IOException
- Throws:
DicomException
java.io.IOException
-
-
Method Detail
-
setCurrentRemoteQueryInformationModel
protected void setCurrentRemoteQueryInformationModel(java.lang.String remoteAEForQuery)
-
importFileIntoDatabase
protected static void importFileIntoDatabase(DatabaseInformationModel database, java.lang.String dicomFileName, java.lang.String fileReferenceType, java.util.Map<java.lang.String,java.util.Date> earliestDatesIndexedBySourceFilePath) throws java.io.FileNotFoundException, java.io.IOException, DicomException
- Throws:
java.io.FileNotFoundException
java.io.IOException
DicomException
-
activateStorageSCP
protected void activateStorageSCP() throws DicomException, java.io.IOException
Start DICOM storage listener for populating source database.
- Throws:
DicomException
java.io.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
-
purgeFilesAndDatabaseInformation
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, java.io.IOException
- Throws:
DicomException
java.io.IOException
-
purgeFilesAndDatabaseInformation
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, java.io.IOException
- Throws:
DicomException
java.io.IOException
-
copyFromOriginalToCleanedPerformingAction
protected boolean copyFromOriginalToCleanedPerformingAction(java.util.Vector paths, java.util.Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater) throws DicomException, java.io.IOException
- Throws:
DicomException
java.io.IOException
-
findEarliestDate
protected static java.util.Date findEarliestDate(java.util.Map<java.lang.String,java.util.Date> earliestDatesIndexedBySourceFilePath, java.util.Vector<java.lang.String> sourceFilePathSelections)
-
makeNewFullyQualifiedInterchangeMediaInstancePathName
protected java.lang.String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount) throws java.io.IOException
- Throws:
java.io.IOException
-
makeNewFullyQualifiedHierarchicalInstancePathName
protected java.lang.String makeNewFullyQualifiedHierarchicalInstancePathName(java.lang.String sourceFileName) throws DicomException, java.io.IOException
- Throws:
DicomException
java.io.IOException
-
setCurrentRemoteQuerySelection
protected void setCurrentRemoteQuerySelection(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)
-
performRetrieve
protected void performRetrieve(AttributeList uniqueKeys, java.lang.String selectionLevel, java.lang.String retrieveAE)
-
main
public static void main(java.lang.String[] arg)
The method to invoke the application.
- Parameters:
arg
- optionally, a single path to a DICOM file or folder to search for importable DICOM files
-
-