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)
JFrame.AccessibleJFrame
Frame.AccessibleAWTFrame
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
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
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
DicomCleaner() |
DicomCleaner(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(Vector paths,
Date earliestDateInSet,
MessageLogger logger,
SafeProgressBarUpdaterThread progressBarUpdater) |
protected static Date |
findEarliestDate(Map<String,Date> earliestDatesIndexedBySourceFilePath,
Vector<String> sourceFilePathSelections) |
protected static void |
importFileIntoDatabase(DatabaseInformationModel database,
String dicomFileName,
String fileReferenceType,
Map<String,Date> earliestDatesIndexedBySourceFilePath) |
static void |
main(String[] arg)
The method to invoke the application.
|
protected String |
makeNewFullyQualifiedHierarchicalInstancePathName(String sourceFileName) |
protected String |
makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount) |
protected void |
performRetrieve(AttributeList uniqueKeys,
String selectionLevel,
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(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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFont, postEvent
protected JCheckBox acceptAnyTransferSyntaxCheckBox
protected JCheckBox addContributingEquipmentCheckBox
protected JCheckBox aggregateAgesOver89CheckBox
protected JCheckBox cleanUIDsCheckBox
protected DatabaseTreeRecord[] currentDestinationDatabaseSelections
protected Vector currentDestinationFilePathSelections
protected QueryInformationModel currentRemoteQueryInformationModel
protected String currentRemoteQuerySelectionLevel
protected QueryTreeRecord currentRemoteQuerySelectionQueryTreeRecord
protected String currentRemoteQuerySelectionRetrieveAE
protected Attribute currentRemoteQuerySelectionUniqueKey
protected AttributeList currentRemoteQuerySelectionUniqueKeys
protected DatabaseTreeRecord[] currentSourceDatabaseSelections
protected 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 String default_DateTimeFormat
protected static int default_RandomReplacementAccessionNumberLength
protected static int default_RandomReplacementPatientIDLength
protected static boolean default_ShowDateTime
protected DatabaseInformationModel dstDatabase
protected JPanel dstDatabasePanel
protected Map<String,Date> earliestDatesIndexedBySourceFilePath
protected String exportDirectoryPath
protected static String exportedZipFileName
protected static String filePrefixForDicomInstanceFilesOnInterchangeMedia
protected static String fileSuffixForDicomInstanceFilesOnInterchangeMedia
protected JCheckBox hierarchicalExportCheckBox
protected String importDirectoryPath
protected MessageLogger logger
protected JCheckBox modifyDatesCheckBox
protected JTextField modifyDatesTextField
protected static String nameForDicomDirectoryOnInterchangeMedia
protected NetworkApplicationInformation networkApplicationInformation
protected NetworkApplicationProperties networkApplicationProperties
protected String ourCalledAETitle
protected SafeProgressBarUpdaterThread progressBarUpdater
protected static String propertiesFileName
protected static String propertyName_AllowAcceptAnyTransferSyntaxCheckBox
protected static String propertyName_AllowAddContributingEquipmentCheckBox
protected static String propertyName_AllowAggregateAgesOver89CheckBox
protected static String propertyName_AllowChangeDatesAndTimes
protected static String propertyName_AllowCleanUIDsCheckBox
protected static String propertyName_AllowHierarchicalExportCheckBox
protected static String propertyName_AllowNetworkConfiguration
protected static String propertyName_AllowRemoveAllStructuredContentCheckBox
protected static String propertyName_AllowRemoveCharacteristicsCheckBox
protected static String propertyName_AllowRemoveClinicalTrialAttributesCheckBox
protected static String propertyName_AllowRemoveDescriptionsCheckBox
protected static String propertyName_AllowRemoveDeviceIdentityCheckBox
protected static String propertyName_AllowRemoveIdentityCheckBox
protected static String propertyName_AllowRemoveInstitutionIdentityCheckBox
protected static String propertyName_AllowRemovePrivateCheckBox
protected static String propertyName_AllowRemoveProtocolNameCheckBox
protected static String propertyName_AllowRemoveSeriesDescriptionsCheckBox
protected static String propertyName_AllowRemoveUnsafeStructuredContentCheckBox
protected static String propertyName_AllowUserQuery
protected static String propertyName_AllowZipExportCheckBox
protected static String propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected
protected static String propertyName_CheckBoxAddContributingEquipmentIsSelected
protected static String propertyName_CheckBoxAggregateAgesOver89IsSelected
protected static String propertyName_CheckBoxCleanUIDsIsSelected
protected static String propertyName_CheckBoxHierarchicalExportIsSelected
protected static String propertyName_CheckBoxModifyDatesIsSelected
protected static String propertyName_CheckBoxRemoveAllStructuredContentIsSelected
protected static String propertyName_CheckBoxRemoveCharacteristicsIsSelected
protected static String propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected
protected static String propertyName_CheckBoxRemoveDescriptionsIsSelected
protected static String propertyName_CheckBoxRemoveDeviceIdentityIsSelected
protected static String propertyName_CheckBoxRemoveIdentityIsSelected
protected static String propertyName_CheckBoxRemoveInstitutionIdentityIsSelected
protected static String propertyName_CheckBoxRemovePrivateIsSelected
protected static String propertyName_CheckBoxRemoveProtocolNameIsSelected
protected static String propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected
protected static String propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected
protected static String propertyName_CheckBoxReplaceAccessionNumberIsSelected
protected static String propertyName_CheckBoxReplacePatientBirthDateIsSelected
protected static String propertyName_CheckBoxReplacePatientIDIsSelected
protected static String propertyName_CheckBoxReplacePatientNameIsSelected
protected static String propertyName_CheckBoxZipExportIsSelected
protected static String propertyName_DateTimeFormat
protected static String propertyName_DicomCurrentlySelectedQueryTargetAE
protected static String propertyName_DicomCurrentlySelectedStorageTargetAE
protected static String propertyName_ModifyDatesEpoch
protected static String propertyName_RandomReplacementAccessionNumberLength
protected static String propertyName_RandomReplacementPatientIDLength
protected static String propertyName_RandomReplacementPatientNamePrefix
protected static String propertyName_ReplacementTextAccessionNumber
protected static String propertyName_ReplacementTextPatientBirthDate
protected static String propertyName_ReplacementTextPatientID
protected static String propertyName_ReplacementTextPatientName
protected static String propertyName_ShowDateTime
protected JTextField queryFilterAccessionNumberTextField
protected JTextField queryFilterPatientIDTextField
protected JTextField queryFilterPatientNameTextField
protected JTextField queryFilterStudyDateTextField
protected int randomReplacementAccessionNumberLength
protected int randomReplacementPatientIDLength
protected String randomReplacementPatientNamePrefix
protected JPanel remoteQueryRetrievePanel
protected JCheckBox removeAllStructuredContentCheckBox
protected JCheckBox removeCharacteristicsCheckBox
protected JCheckBox removeClinicalTrialAttributesCheckBox
protected JCheckBox removeDescriptionsCheckBox
protected JCheckBox removeDeviceIdentityCheckBox
protected JCheckBox removeIdentityCheckBox
protected JCheckBox removeInstitutionIdentityCheckBox
protected JCheckBox removePrivateCheckBox
protected JCheckBox removeProtocolNameCheckBox
protected JCheckBox removeSeriesDescriptionsCheckBox
protected JCheckBox removeUnsafeStructuredContentCheckBox
protected JCheckBox replaceAccessionNumberCheckBox
protected JTextField replacementAccessionNumberTextField
protected JTextField replacementPatientBirthDateTextField
protected JTextField replacementPatientIDTextField
protected JTextField replacementPatientNameTextField
protected JCheckBox replacePatientBirthDateCheckBox
protected JCheckBox replacePatientIDCheckBox
protected JCheckBox replacePatientNameCheckBox
protected ResourceBundle resourceBundle
protected static String resourceBundleName
protected static String rootNameForDicomInstanceFilesOnInterchangeMedia
protected File savedImagesFolder
protected DatabaseInformationModel srcDatabase
protected 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 JCheckBox zipExportCheckBox
public DicomCleaner() throws DicomException, IOException
DicomException
IOException
public DicomCleaner(String pathName) throws DicomException, IOException
DicomException
IOException
protected void activateStorageSCP() throws DicomException, IOException
Start DICOM storage listener for populating source database.
DicomException
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(Vector paths, Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater) throws DicomException, IOException
DicomException
IOException
protected static Date findEarliestDate(Map<String,Date> earliestDatesIndexedBySourceFilePath, Vector<String> sourceFilePathSelections)
protected static void importFileIntoDatabase(DatabaseInformationModel database, String dicomFileName, String fileReferenceType, Map<String,Date> earliestDatesIndexedBySourceFilePath) throws FileNotFoundException, IOException, DicomException
public static void main(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 String makeNewFullyQualifiedHierarchicalInstancePathName(String sourceFileName) throws DicomException, IOException
DicomException
IOException
protected String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount) throws IOException
IOException
protected void performRetrieve(AttributeList uniqueKeys, String selectionLevel, String retrieveAE)
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, IOException
DicomException
IOException
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, IOException
DicomException
IOException
protected void setCurrentRemoteQueryInformationModel(String remoteAEForQuery)
protected void setCurrentRemoteQuerySelection(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)