com.pixelmed.display
Class DicomCleaner

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

public class DicomCleaner
extends ApplicationFrame

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

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

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

Nested Class Summary
protected  class DicomCleaner.BlackoutActionListener
           
protected  class DicomCleaner.CancelActionListener
           
protected  class DicomCleaner.CleanActionListener
           
protected  class DicomCleaner.CleanWorker
           
protected  class DicomCleaner.ConfigureActionListener
           
protected  class DicomCleaner.DefaultYearActionListener
           
protected  class DicomCleaner.EarliestYearActionListener
           
protected  class DicomCleaner.ExportActionListener
           
protected  class DicomCleaner.ExportWorker
           
protected  class DicomCleaner.ImportActionListener
           
protected  class DicomCleaner.ImportWorker
           
protected  class DicomCleaner.LogActionListener
           
protected  class DicomCleaner.OurDestinationDatabaseTreeBrowser
           
protected  class DicomCleaner.OurDicomImageBlackout
           
protected  class DicomCleaner.OurMediaImporter
           
protected  class DicomCleaner.OurMultipleInstanceTransferStatusHandler
           
protected  class DicomCleaner.OurQueryTreeBrowser
           
protected  class DicomCleaner.OurReceivedObjectHandler
           
protected  class DicomCleaner.OurSourceDatabaseTreeBrowser
           
protected  class DicomCleaner.PurgeActionListener
           
protected  class DicomCleaner.PurgeWorker
           
protected  class DicomCleaner.QueryActionListener
           
protected  class DicomCleaner.QueryWorker
           
protected  class DicomCleaner.RandomYearActionListener
           
protected  class DicomCleaner.RetrieveActionListener
           
protected  class DicomCleaner.RetrieveWorker
           
protected  class DicomCleaner.SendActionListener
           
protected  class DicomCleaner.SendWorker
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JCheckBox addContributingEquipmentCheckBox
           
protected  JCheckBox cleanUIDsCheckBox
           
protected  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  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 static boolean haveCheckedForJPEG2000Part1Codec
           
protected static boolean haveCheckedForJPEGLosslessCodec
           
protected static boolean haveFoundJPEG2000Part1Codec
           
protected static boolean haveFoundJPEGLosslessCodec
           
protected static boolean haveScannedForCodecs
           
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_DicomCurrentlySelectedQueryTargetAE
           
protected static String propertyName_DicomCurrentlySelectedStorageTargetAE
           
protected  JTextField queryFilterPatientIDTextField
           
protected  JTextField queryFilterPatientNameTextField
           
protected  JTextField queryFilterStudyDateTextField
           
protected  JPanel remoteQueryRetrievePanel
           
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 replaceAccessionNumberCheckBox
           
protected  JTextField replacementAccessionNumberTextField
           
protected  JTextField replacementPatientIDTextField
           
protected  JTextField replacementPatientNameTextField
           
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 textFieldLengthForQueryPatientID
           
protected static int textFieldLengthForQueryPatientName
           
protected static int textFieldLengthForQueryStudyDate
           
protected static int textFieldLengthForReplacementAccessionNumber
           
protected static int textFieldLengthForReplacementPatientID
           
protected static int textFieldLengthForReplacementPatientName
           
protected  JCheckBox zipExportCheckBox
           
 
Fields inherited from class com.pixelmed.display.ApplicationFrame
statusBarManager
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DicomCleaner()
           
 
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, Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater)
           
protected static Date findEarliestDate(Map<String,Date> earliestDatesIndexedBySourceFilePath, Vector<String> sourceFilePathSelections)
           
protected  boolean haveJPEG2000Part1Codec()
           
protected  boolean haveJPEGLosslessCodec()
           
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)
           
 
Methods inherited from class com.pixelmed.display.ApplicationFrame
createGUI, getApplicationPropertyFileName, getBuildDate, getProperties, getPropertyInsistently, getPropertyInsistently, getReleaseString, getStatusBar, loadProperties, 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, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

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

textFieldLengthForModifyDates

protected static int textFieldLengthForModifyDates

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

removeProtocolNameCheckBox

protected JCheckBox removeProtocolNameCheckBox

removeCharacteristicsCheckBox

protected JCheckBox removeCharacteristicsCheckBox

removeDeviceIdentityCheckBox

protected JCheckBox removeDeviceIdentityCheckBox

removeInstitutionIdentityCheckBox

protected JCheckBox removeInstitutionIdentityCheckBox

cleanUIDsCheckBox

protected JCheckBox cleanUIDsCheckBox

removePrivateCheckBox

protected JCheckBox removePrivateCheckBox

addContributingEquipmentCheckBox

protected JCheckBox addContributingEquipmentCheckBox

removeClinicalTrialAttributesCheckBox

protected JCheckBox removeClinicalTrialAttributesCheckBox

zipExportCheckBox

protected JCheckBox zipExportCheckBox

hierarchicalExportCheckBox

protected JCheckBox hierarchicalExportCheckBox

replacePatientNameCheckBox

protected JCheckBox replacePatientNameCheckBox

replacePatientIDCheckBox

protected JCheckBox replacePatientIDCheckBox

replaceAccessionNumberCheckBox

protected JCheckBox replaceAccessionNumberCheckBox

modifyDatesCheckBox

protected JCheckBox modifyDatesCheckBox

replacementPatientNameTextField

protected JTextField replacementPatientNameTextField

replacementPatientIDTextField

protected JTextField replacementPatientIDTextField

replacementAccessionNumberTextField

protected JTextField replacementAccessionNumberTextField

modifyDatesTextField

protected JTextField modifyDatesTextField

queryFilterPatientNameTextField

protected JTextField queryFilterPatientNameTextField

queryFilterPatientIDTextField

protected JTextField queryFilterPatientIDTextField

queryFilterStudyDateTextField

protected JTextField queryFilterStudyDateTextField

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 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

earliestDatesIndexedBySourceFilePath

protected Map<String,Date> earliestDatesIndexedBySourceFilePath

savedImagesFolder

protected File savedImagesFolder

storageSOPClassSCPDispatcher

protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher

currentSourceDatabaseSelections

protected DatabaseTreeRecord[] currentSourceDatabaseSelections

currentSourceFilePathSelections

protected Vector currentSourceFilePathSelections

currentDestinationDatabaseSelections

protected DatabaseTreeRecord[] currentDestinationDatabaseSelections

currentDestinationFilePathSelections

protected Vector currentDestinationFilePathSelections

importDirectoryPath

protected String importDirectoryPath

exportDirectoryPath

protected String exportDirectoryPath
Constructor Detail

DicomCleaner

public DicomCleaner()
             throws DicomException,
                    IOException
Throws:
DicomException
IOException
Method Detail

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,
                                             Map<String,Date> earliestDatesIndexedBySourceFilePath)
                                      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

purgeFilesAndDatabaseInformation

protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord[] databaseSelections,
                                                MessageLogger logger,
                                                SafeProgressBarUpdaterThread progressBarUpdater,
                                                int done,
                                                int maximum)
                                         throws DicomException,
                                                IOException
Throws:
DicomException
IOException

purgeFilesAndDatabaseInformation

protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection,
                                                MessageLogger logger,
                                                SafeProgressBarUpdaterThread progressBarUpdater,
                                                int done,
                                                int maximum)
                                         throws DicomException,
                                                IOException
Throws:
DicomException
IOException

copyFromOriginalToCleanedPerformingAction

protected void copyFromOriginalToCleanedPerformingAction(Vector paths,
                                                         Date earliestDateInSet,
                                                         MessageLogger logger,
                                                         SafeProgressBarUpdaterThread progressBarUpdater)
                                                  throws DicomException,
                                                         IOException
Throws:
DicomException
IOException

findEarliestDate

protected static Date findEarliestDate(Map<String,Date> earliestDatesIndexedBySourceFilePath,
                                       Vector<String> sourceFilePathSelections)

makeNewFullyQualifiedInterchangeMediaInstancePathName

protected String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount)
                                                                throws IOException
Throws:
IOException

makeNewFullyQualifiedHierarchicalInstancePathName

protected String makeNewFullyQualifiedHierarchicalInstancePathName(String sourceFileName)
                                                            throws DicomException,
                                                                   IOException
Throws:
DicomException
IOException

setCurrentRemoteQuerySelection

protected void setCurrentRemoteQuerySelection(AttributeList uniqueKeys,
                                              Attribute uniqueKey,
                                              AttributeList identifier)

performRetrieve

protected void performRetrieve(AttributeList uniqueKeys,
                               String selectionLevel,
                               String retrieveAE)

main

public static void main(String[] arg)

The method to invoke the application.

Parameters:
arg - none