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 panel
Application.Allow.CheckBox.AcceptAnyTransferSyntax=true
- display the checkbox
Application.Allow.CheckBox.AddContributingEquipment=true
- display the checkbox
Application.Allow.CheckBox.AggregateAgesOver89=true
- display the checkbox
Application.Allow.CheckBox.CleanUIDs=true
- display the checkbox
Application.Allow.CheckBox.HierarchicalExport=true
- display the checkbox
Application.Allow.CheckBox.RemoveCharacteristics=true
- display the checkbox
Application.Allow.CheckBox.RemoveClinicalTrialAttributes=true
- display the checkbox
Application.Allow.CheckBox.RemoveAllStructuredContent=true
- display the checkbox
Application.Allow.CheckBox.RemoveUnsafeStructuredContent=true
- display the checkbox
Application.Allow.CheckBox.RemoveDescriptions=true
- display the checkbox
Application.Allow.CheckBox.RemoveDeviceIdentity=true
- display the checkbox
Application.Allow.CheckBox.RemoveIdentity=true
- display the checkbox
Application.Allow.CheckBox.RemoveInstitutionIdentity=true
- display the checkbox
Application.Allow.CheckBox.RemovePrivate=true
- display the checkbox
Application.Allow.CheckBox.RemoveProtocolName=true
- display the checkbox
Application.Allow.CheckBox.RemoveSeriesDescriptions=true
- display the checkbox
Application.Allow.CheckBox.ZipExport=true
- display the checkbox
Application.Allow.NetworkConfiguration=true
- display the Configure button
Application.Allow.UserQuery=true
- display the query/retrieve buttons, results panel and keys panel
Application.CheckBox.IsSelected.AcceptAnyTransferSyntax=false
- selection status of the checkbox
Application.CheckBox.IsSelected.AddContributingEquipment=true
- selection status of the checkbox
Application.CheckBox.IsSelected.AggregateAgesOver89=true
- selection status of the checkbox
Application.CheckBox.IsSelected.CleanUIDs=true
- selection status of the checkbox
Application.CheckBox.IsSelected.HierarchicalExport=false
- selection status of the checkbox
Application.CheckBox.IsSelected.ModifyDates=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveCharacteristics=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveClinicalTrialAttributes=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveAllStructuredContent=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveUnsafeStructuredContent=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveDescriptions=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveDeviceIdentity=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveIdentity=true
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveInstitutionIdentity=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemovePrivate=true
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveProtocolName=false
- selection status of the checkbox
Application.CheckBox.IsSelected.RemoveSeriesDescriptions=false
- selection status of the checkbox
Application.CheckBox.IsSelected.ReplaceAccessionNumber=true
- selection status ofthe checkbox
Application.CheckBox.IsSelected.ReplacePatientID=true
- selection status of the checkbox
Application.CheckBox.IsSelected.ReplacePatientBirthDate=false
- selection status of the checkbox
Application.CheckBox.IsSelected.ReplacePatientName=true
- selection status of the checkbox
Application.CheckBox.IsSelected.ZipExport=false
- selection status of the checkbox
Application.ModifyDatesEpoch=20000101
- text value of the dates epoch
Application.ReplacementText.AccessionNumber=
- text value of the Accession Number replacement field
Application.ReplacementText.PatientID=NOID
- text value of Patient ID replacement field
Application.ReplacementText.PatientBirthDate=19700101
- text value of Patient Birth Date replacement field
Application.ReplacementText.PatientName=NAME^NONE
- text value of Patient Name replacement field
Application.RandomReplacementPatientNamePrefix=Anon^
- prefix for random value of Patient Name replacement field
Application.RandomReplacementPatientIDLength=16
- length for zero padded random value of Patient ID (and Patient Name suffix) replacement field
Application.RandomReplacementAccessionNumberLength=16
- length for zero padded random value of Accession Number replacement field
Application.DialogLogger.showDateTime=true
- prepend log entries with a time stamp
Application.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)
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
statusBarManager
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
DicomCleaner() |
DicomCleaner(java.lang.String pathName) |
Modifier and Type | Method and 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) |
createGUI, getApplicationPropertyFileName, getBooleanPropertyOrDefaultAndAddIt, getBooleanPropertyOrDefaultAndAddIt, getBuildDate, getIntegerPropertyOrDefaultAndAddIt, getIntegerPropertyOrDefaultAndAddIt, getProperties, getPropertyInsistently, getPropertyInsistently, getPropertyOrDefaultAndAddIt, getPropertyOrDefaultAndAddIt, getReleaseString, getStatusBar, loadProperties, localizeJOptionPane, makePathToFileInUsersHomeDirectory, setApplicationPropertyFileName, setBackgroundForGUI, setInternationalizedFontsForGUI, setPreferredLookAndFeelForPlatform, storeProperties, takeSnapShot
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
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
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, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected javax.swing.JCheckBox acceptAnyTransferSyntaxCheckBox
protected javax.swing.JCheckBox addContributingEquipmentCheckBox
protected javax.swing.JCheckBox aggregateAgesOver89CheckBox
protected javax.swing.JCheckBox cleanUIDsCheckBox
protected DatabaseTreeRecord[] currentDestinationDatabaseSelections
protected java.util.Vector currentDestinationFilePathSelections
protected QueryInformationModel currentRemoteQueryInformationModel
protected java.lang.String currentRemoteQuerySelectionLevel
protected QueryTreeRecord currentRemoteQuerySelectionQueryTreeRecord
protected java.lang.String currentRemoteQuerySelectionRetrieveAE
protected Attribute currentRemoteQuerySelectionUniqueKey
protected AttributeList currentRemoteQuerySelectionUniqueKeys
protected DatabaseTreeRecord[] currentSourceDatabaseSelections
protected java.util.Vector currentSourceFilePathSelections
protected SafeCursorChanger cursorChanger
protected static boolean default_CheckBoxAcceptAnyTransferSyntaxIsSelected
protected static boolean default_CheckBoxAddContributingEquipmentIsSelected
protected static boolean default_CheckBoxAggregateAgesOver89IsSelected
protected static boolean default_CheckBoxCleanUIDsIsSelected
protected static boolean default_CheckBoxHierarchicalExportIsSelected
protected static boolean default_CheckBoxModifyDatesIsSelected
protected static boolean default_CheckBoxRemoveAllStructuredContentIsSelected
protected static boolean default_CheckBoxRemoveCharacteristicsIsSelected
protected static boolean default_CheckBoxRemoveClinicalTrialAttributesIsSelected
protected static boolean default_CheckBoxRemoveDescriptionsIsSelected
protected static boolean default_CheckBoxRemoveDeviceIdentityIsSelected
protected static boolean default_CheckBoxRemoveIdentityIsSelected
protected static boolean default_CheckBoxRemoveInstitutionIdentityIsSelected
protected static boolean default_CheckBoxRemovePrivateIsSelected
protected static boolean default_CheckBoxRemoveProtocolNameIsSelected
protected static boolean default_CheckBoxRemoveSeriesDescriptionsIsSelected
protected static boolean default_CheckBoxRemoveUnsafeStructuredContentIsSelected
protected static boolean default_CheckBoxReplaceAccessionNumberIsSelected
protected static boolean default_CheckBoxReplacePatientBirthDateIsSelected
protected static boolean default_CheckBoxReplacePatientIDIsSelected
protected static boolean default_CheckBoxReplacePatientNameIsSelected
protected static boolean default_CheckBoxZipExportIsSelected
protected static java.lang.String default_DateTimeFormat
protected static int default_RandomReplacementAccessionNumberLength
protected static int default_RandomReplacementPatientIDLength
protected static boolean default_ShowDateTime
protected DatabaseInformationModel dstDatabase
protected javax.swing.JPanel dstDatabasePanel
protected java.util.Map<java.lang.String,java.util.Date> earliestDatesIndexedBySourceFilePath
protected java.lang.String exportDirectoryPath
protected static java.lang.String exportedZipFileName
protected static java.lang.String filePrefixForDicomInstanceFilesOnInterchangeMedia
protected static java.lang.String fileSuffixForDicomInstanceFilesOnInterchangeMedia
protected javax.swing.JCheckBox hierarchicalExportCheckBox
protected java.lang.String importDirectoryPath
protected MessageLogger logger
protected javax.swing.JCheckBox modifyDatesCheckBox
protected javax.swing.JTextField modifyDatesTextField
protected static java.lang.String nameForDicomDirectoryOnInterchangeMedia
protected NetworkApplicationInformation networkApplicationInformation
protected NetworkApplicationProperties networkApplicationProperties
protected java.lang.String ourCalledAETitle
protected SafeProgressBarUpdaterThread progressBarUpdater
protected static java.lang.String propertiesFileName
protected static java.lang.String propertyName_AllowAcceptAnyTransferSyntaxCheckBox
protected static java.lang.String propertyName_AllowAddContributingEquipmentCheckBox
protected static java.lang.String propertyName_AllowAggregateAgesOver89CheckBox
protected static java.lang.String propertyName_AllowChangeDatesAndTimes
protected static java.lang.String propertyName_AllowCleanUIDsCheckBox
protected static java.lang.String propertyName_AllowHierarchicalExportCheckBox
protected static java.lang.String propertyName_AllowNetworkConfiguration
protected static java.lang.String propertyName_AllowRemoveAllStructuredContentCheckBox
protected static java.lang.String propertyName_AllowRemoveCharacteristicsCheckBox
protected static java.lang.String propertyName_AllowRemoveClinicalTrialAttributesCheckBox
protected static java.lang.String propertyName_AllowRemoveDescriptionsCheckBox
protected static java.lang.String propertyName_AllowRemoveDeviceIdentityCheckBox
protected static java.lang.String propertyName_AllowRemoveIdentityCheckBox
protected static java.lang.String propertyName_AllowRemoveInstitutionIdentityCheckBox
protected static java.lang.String propertyName_AllowRemovePrivateCheckBox
protected static java.lang.String propertyName_AllowRemoveProtocolNameCheckBox
protected static java.lang.String propertyName_AllowRemoveSeriesDescriptionsCheckBox
protected static java.lang.String propertyName_AllowRemoveUnsafeStructuredContentCheckBox
protected static java.lang.String propertyName_AllowUserQuery
protected static java.lang.String propertyName_AllowZipExportCheckBox
protected static java.lang.String propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected
protected static java.lang.String propertyName_CheckBoxAddContributingEquipmentIsSelected
protected static java.lang.String propertyName_CheckBoxAggregateAgesOver89IsSelected
protected static java.lang.String propertyName_CheckBoxCleanUIDsIsSelected
protected static java.lang.String propertyName_CheckBoxHierarchicalExportIsSelected
protected static java.lang.String propertyName_CheckBoxModifyDatesIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveAllStructuredContentIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveCharacteristicsIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveDescriptionsIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveDeviceIdentityIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveIdentityIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveInstitutionIdentityIsSelected
protected static java.lang.String propertyName_CheckBoxRemovePrivateIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveProtocolNameIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected
protected static java.lang.String propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected
protected static java.lang.String propertyName_CheckBoxReplaceAccessionNumberIsSelected
protected static java.lang.String propertyName_CheckBoxReplacePatientBirthDateIsSelected
protected static java.lang.String propertyName_CheckBoxReplacePatientIDIsSelected
protected static java.lang.String propertyName_CheckBoxReplacePatientNameIsSelected
protected static java.lang.String propertyName_CheckBoxZipExportIsSelected
protected static java.lang.String propertyName_DateTimeFormat
protected static java.lang.String propertyName_DicomCurrentlySelectedQueryTargetAE
protected static java.lang.String propertyName_DicomCurrentlySelectedStorageTargetAE
protected static java.lang.String propertyName_ModifyDatesEpoch
protected static java.lang.String propertyName_RandomReplacementAccessionNumberLength
protected static java.lang.String propertyName_RandomReplacementPatientIDLength
protected static java.lang.String propertyName_RandomReplacementPatientNamePrefix
protected static java.lang.String propertyName_ReplacementTextAccessionNumber
protected static java.lang.String propertyName_ReplacementTextPatientBirthDate
protected static java.lang.String propertyName_ReplacementTextPatientID
protected static java.lang.String propertyName_ReplacementTextPatientName
protected static java.lang.String propertyName_ShowDateTime
protected javax.swing.JTextField queryFilterAccessionNumberTextField
protected javax.swing.JTextField queryFilterPatientIDTextField
protected javax.swing.JTextField queryFilterPatientNameTextField
protected javax.swing.JTextField queryFilterStudyDateTextField
protected int randomReplacementAccessionNumberLength
protected int randomReplacementPatientIDLength
protected java.lang.String randomReplacementPatientNamePrefix
protected javax.swing.JPanel remoteQueryRetrievePanel
protected javax.swing.JCheckBox removeAllStructuredContentCheckBox
protected javax.swing.JCheckBox removeCharacteristicsCheckBox
protected javax.swing.JCheckBox removeClinicalTrialAttributesCheckBox
protected javax.swing.JCheckBox removeDescriptionsCheckBox
protected javax.swing.JCheckBox removeDeviceIdentityCheckBox
protected javax.swing.JCheckBox removeIdentityCheckBox
protected javax.swing.JCheckBox removeInstitutionIdentityCheckBox
protected javax.swing.JCheckBox removePrivateCheckBox
protected javax.swing.JCheckBox removeProtocolNameCheckBox
protected javax.swing.JCheckBox removeSeriesDescriptionsCheckBox
protected javax.swing.JCheckBox removeUnsafeStructuredContentCheckBox
protected javax.swing.JCheckBox replaceAccessionNumberCheckBox
protected javax.swing.JTextField replacementAccessionNumberTextField
protected javax.swing.JTextField replacementPatientBirthDateTextField
protected javax.swing.JTextField replacementPatientIDTextField
protected javax.swing.JTextField replacementPatientNameTextField
protected javax.swing.JCheckBox replacePatientBirthDateCheckBox
protected javax.swing.JCheckBox replacePatientIDCheckBox
protected javax.swing.JCheckBox replacePatientNameCheckBox
protected java.util.ResourceBundle resourceBundle
protected static java.lang.String resourceBundleName
protected static java.lang.String rootNameForDicomInstanceFilesOnInterchangeMedia
protected java.io.File savedImagesFolder
protected DatabaseInformationModel srcDatabase
protected javax.swing.JPanel srcDatabasePanel
protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher
protected static int textFieldLengthForModifyDates
protected static int textFieldLengthForQueryAccessionNumber
protected static int textFieldLengthForQueryPatientID
protected static int textFieldLengthForQueryPatientName
protected static int textFieldLengthForQueryStudyDate
protected static int textFieldLengthForReplacementAccessionNumber
protected static int textFieldLengthForReplacementPatientBirthDate
protected static int textFieldLengthForReplacementPatientID
protected static int textFieldLengthForReplacementPatientName
protected javax.swing.JCheckBox zipExportCheckBox
public DicomCleaner() throws DicomException, java.io.IOException
DicomException
java.io.IOException
public DicomCleaner(java.lang.String pathName) throws DicomException, java.io.IOException
DicomException
java.io.IOException
protected void activateStorageSCP() throws DicomException, java.io.IOException
Start DICOM storage listener for populating source database.
DicomException
java.io.IOException
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.
DicomException
protected boolean copyFromOriginalToCleanedPerformingAction(java.util.Vector paths, java.util.Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater) throws DicomException, java.io.IOException
DicomException
java.io.IOException
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) throws java.io.FileNotFoundException, java.io.IOException, DicomException
java.io.FileNotFoundException
java.io.IOException
DicomException
public static void main(java.lang.String[] arg)
The method to invoke the application.
arg
- optionally, a single path to a DICOM file or folder to search for importable DICOM filesprotected java.lang.String makeNewFullyQualifiedHierarchicalInstancePathName(java.lang.String sourceFileName) throws DicomException, java.io.IOException
DicomException
java.io.IOException
protected java.lang.String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount) throws java.io.IOException
java.io.IOException
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) throws DicomException, java.io.IOException
DicomException
java.io.IOException
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, java.io.IOException
DicomException
java.io.IOException
protected void setCurrentRemoteQueryInformationModel(java.lang.String remoteAEForQuery)
protected void setCurrentRemoteQuerySelection(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)