com.pixelmed.apps
Class DoseUtility

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.apps.DoseUtility
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class DoseUtility
extends ApplicationFrame

This class is an application for retrieving dose information about DICOM studies of patients.

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

It supports retrieval of Dose SR objects and dose screen save images.

See Also:
Serialized Form

Nested Class Summary
protected  class DoseUtility.ConfigureActionListener
           
protected  class DoseUtility.ImportActionListener
           
protected  class DoseUtility.ImportWorker
           
protected  class DoseUtility.LogActionListener
           
protected  class DoseUtility.MakeSRActionListener
           
protected  class DoseUtility.MakeSRWorker
           
protected  class DoseUtility.OurMediaImporter
           
protected  class DoseUtility.OurMultipleInstanceTransferStatusHandler
           
protected  class DoseUtility.OurQueryTreeBrowser
           
protected  class DoseUtility.OurReceivedObjectHandler
           
protected  class DoseUtility.OurSourceDatabaseTreeBrowser
           
protected  class DoseUtility.PurgeActionListener
           
protected  class DoseUtility.PurgeWorker
           
protected  class DoseUtility.QueryActionListener
           
protected  class DoseUtility.QueryWorker
           
protected  class DoseUtility.RegistryActionListener
           
protected  class DoseUtility.RegistryWorker
           
protected  class DoseUtility.ReportActionListener
           
protected  class DoseUtility.ReportWorker
           
protected  class DoseUtility.RetrieveActionListener
           
protected  class DoseUtility.SendActionListener
           
protected  class DoseUtility.SendWorker
           
protected  class DoseUtility.ValidateActionListener
           
protected  class DoseUtility.ValidateWorker
           
protected  class DoseUtility.ViewActionListener
           
protected  class DoseUtility.ViewWorker
           
 
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 caseSensitiveCodeMeaningValidationCheckBox
           
protected static String caseSensitiveCodeMeaningValidationLabelText
           
protected static String configureButtonLabel
           
protected static String configureButtonToolTipText
           
protected  DatabaseTreeRecord[] currentDatabaseTreeRecordSelections
           
protected  QueryInformationModel currentRemoteQueryInformationModel
           
protected  QueryTreeBrowser currentRemoteQueryTreeBrowser
           
protected  SafeCursorChanger cursorChanger
           
protected  JCheckBox deidentifyWhenSendingToRegistryCheckBox
           
protected static String deidentifyWhenSendingToRegistryLabelText
           
protected  FTPApplicationProperties ftpApplicationProperties
           
protected  FTPRemoteHostInformation ftpRemoteHostInformation
           
protected static boolean haveCheckedForJPEG2000Part1Codec
           
protected static boolean haveCheckedForJPEGLosslessCodec
           
protected static boolean haveFoundJPEG2000Part1Codec
           
protected static boolean haveFoundJPEGLosslessCodec
           
protected static boolean haveScannedForCodecs
           
protected static String importButtonLabel
           
protected static String importButtonToolTipText
           
protected  String importDirectoryPath
           
protected static String localDatabaseName
           
protected static String localDatabaseServerName
           
protected static String logButtonLabel
           
protected static String logButtonToolTipText
           
protected  MessageLogger logger
           
protected static int loggerDialogHeightWanted
           
protected static int loggertDialogWidthWanted
           
protected static String loggerTitleMessage
           
protected static String makeSRButtonLabel
           
protected static String makeSRButtonToolTipText
           
protected  NetworkApplicationInformation networkApplicationInformation
           
protected  NetworkApplicationProperties networkApplicationProperties
           
protected  String ourCalledAETitle
           
protected  JCheckBox processOnlyDoseSeriesRecordCheckBox
           
protected static String processOnlyDoseSeriesRecordLabelText
           
protected  SafeProgressBarUpdaterThread progressBarUpdater
           
protected static String propertiesFileName
           
protected static String propertyName_CurrentlySelectedDoseRegistry
           
protected static String propertyName_DicomCurrentlySelectedQueryTargetAE
           
protected static String propertyName_DicomCurrentlySelectedStorageTargetAE
           
protected static String purgeButtonLabel
           
protected static String purgeButtonToolTipText
           
protected static String queryButtonLabel
           
protected static String queryButtonToolTipText
           
protected  JTextField queryFilterPatientIDTextField
           
protected  JTextField queryFilterPatientNameTextField
           
protected  JTextField queryFilterStudyDateTextField
           
protected static String queryIntroductionLabelText
           
protected static String queryPatientIDLabelText
           
protected static String queryPatientIDToolTipText
           
protected static String queryPatientNameLabelText
           
protected static String queryPatientNameToolTipText
           
protected static String queryStudyDateLabelText
           
protected static String queryStudyDateToolTipText
           
protected static String registryButtonLabel
           
protected static String registryButtonToolTipText
           
protected  JPanel remoteQueryRetrievePanel
           
protected static String reportButtonLabel
           
protected static String reportButtonToolTipText
           
protected static int reportDialogHeightWanted
           
protected static int reportDialogWidthWanted
           
protected  JCheckBox reportTabularLayoutCheckBox
           
protected static String reportTabularLayoutLabelText
           
protected static String reportTitleMessage
           
protected static String retrieveButtonLabel
           
protected static String retrieveButtonToolTipText
           
protected  JCheckBox retrieveOnlyDoseSeriesRecordCheckBox
           
protected static String retrieveOnlyDoseSeriesRecordLabelText
           
protected  File savedImagesFolder
           
protected static String sendButtonLabel
           
protected static String sendButtonToolTipText
           
protected  JCheckBox showDetailedLogCheckBox
           
protected static String showDetailedLogLabelText
           
protected  JCheckBox showOnlyDoseSummaryCheckBox
           
protected static String showOnlyDoseSummaryLabelText
           
protected  DatabaseInformationModel srcDatabase
           
protected  JPanel srcDatabasePanel
           
protected  StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher
           
protected static int textFieldLengthForQueryPatientID
           
protected static int textFieldLengthForQueryPatientName
           
protected static int textFieldLengthForQueryStudyDate
           
protected static String validateButtonLabel
           
protected static String validateButtonToolTipText
           
protected static DicomSRValidator validator
           
protected static int validatorFrameHeightWanted
           
protected static int validatorFrameWidthWanted
           
protected static String viewButtonLabel
           
protected static String viewButtonToolTipText
           
protected static int viewerFrameHeightWanted
           
protected static int viewerFrameWidthWanted
           
 
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
DoseUtility(String title)
           
 
Method Summary
protected  void activateStorageSCP()
          Start DICOM storage listener for populating source database.
protected  void activateTemporaryDatabases()
          Start local database.
protected  Vector<String> deidentifyFiles(Vector<String> paths)
           
protected  Vector extractRadiationDoseSRFiles(Vector candidatePaths)
           
static ArrayList<QueryTreeRecord> findCTSeriesAndRelatedRecordsInQueryTree(QueryTreeRecord record, ArrayList<QueryTreeRecord> records)
           
static ArrayList<QueryTreeRecord> findDoseSeriesRecordsInQueryTree(QueryTreeRecord record, ArrayList<QueryTreeRecord> records)
           
protected  void generateDoseReportInformation(DatabaseTreeRecord[] databaseSelections, JEditorPane reportPane, StringBuffer textBuffer, boolean doHTML, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)
           
protected  void generateDoseReportInformation(DatabaseTreeRecord databaseSelection, JEditorPane reportPane, StringBuffer textBuffer, boolean doHTML, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)
           
protected  void generateDoseSR(DatabaseInformationModel srcDatabase, DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)
           
protected  void generateDoseSR(DatabaseInformationModel srcDatabase, DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)
           
protected  Vector getCurrentSourceFilePathSelections()
           
protected static String getOriginDescriptionForLog(CTDose ctDose, DatabaseInformationModel srcDatabase)
           
static String getQueryRetrieveAEFromIdentifier(AttributeList identifier, QueryInformationModel queryInformationModel)
           
static String getQueryRetrieveLevel(AttributeList identifier, Attribute uniqueKey)
           
protected static String getSRDescriptionForLog(AttributeList list)
           
protected  boolean haveJPEG2000Part1Codec()
           
protected  boolean haveJPEGLosslessCodec()
           
protected static void importFileIntoDatabase(DatabaseInformationModel database, String dicomFileName, String fileRefererenceType)
           
static void main(String[] arg)
          The method to invoke the application.
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)
           
static void recurseThroughChildrenGatheringFileNamesOfDoseFiles(DatabaseTreeRecord r, Vector names, boolean onlyDoseFiles, String manufacturer)
          Recursively process the specified DatabaseTreeRecord and all its children finding file paths of possible dose-related files (not the reconstructed image files) at the instance level.
static void recurseThroughChildrenGatheringFileNamesOfSRFiles(DatabaseTreeRecord r, Vector names)
          Recursively process the specified DatabaseTreeRecord and all its children finding file paths of SR files at the instance level.
protected  void setCurrentRemoteQueryInformationModel(String remoteAEForQuery)
           
 
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

propertiesFileName

protected static String propertiesFileName

propertyName_DicomCurrentlySelectedStorageTargetAE

protected static String propertyName_DicomCurrentlySelectedStorageTargetAE

propertyName_DicomCurrentlySelectedQueryTargetAE

protected static String propertyName_DicomCurrentlySelectedQueryTargetAE

propertyName_CurrentlySelectedDoseRegistry

protected static String propertyName_CurrentlySelectedDoseRegistry

localDatabaseName

protected static String localDatabaseName

localDatabaseServerName

protected static String localDatabaseServerName

textFieldLengthForQueryPatientName

protected static int textFieldLengthForQueryPatientName

textFieldLengthForQueryPatientID

protected static int textFieldLengthForQueryPatientID

textFieldLengthForQueryStudyDate

protected static int textFieldLengthForQueryStudyDate

queryIntroductionLabelText

protected static String queryIntroductionLabelText

queryPatientNameLabelText

protected static String queryPatientNameLabelText

queryPatientIDLabelText

protected static String queryPatientIDLabelText

queryStudyDateLabelText

protected static String queryStudyDateLabelText

configureButtonLabel

protected static String configureButtonLabel

logButtonLabel

protected static String logButtonLabel

queryButtonLabel

protected static String queryButtonLabel

retrieveButtonLabel

protected static String retrieveButtonLabel

importButtonLabel

protected static String importButtonLabel

viewButtonLabel

protected static String viewButtonLabel

validateButtonLabel

protected static String validateButtonLabel

reportButtonLabel

protected static String reportButtonLabel

makeSRButtonLabel

protected static String makeSRButtonLabel

sendButtonLabel

protected static String sendButtonLabel

registryButtonLabel

protected static String registryButtonLabel

purgeButtonLabel

protected static String purgeButtonLabel

configureButtonToolTipText

protected static String configureButtonToolTipText

logButtonToolTipText

protected static String logButtonToolTipText

queryButtonToolTipText

protected static String queryButtonToolTipText

retrieveButtonToolTipText

protected static String retrieveButtonToolTipText

importButtonToolTipText

protected static String importButtonToolTipText

viewButtonToolTipText

protected static String viewButtonToolTipText

validateButtonToolTipText

protected static String validateButtonToolTipText

reportButtonToolTipText

protected static String reportButtonToolTipText

makeSRButtonToolTipText

protected static String makeSRButtonToolTipText

sendButtonToolTipText

protected static String sendButtonToolTipText

registryButtonToolTipText

protected static String registryButtonToolTipText

purgeButtonToolTipText

protected static String purgeButtonToolTipText

queryPatientNameToolTipText

protected static String queryPatientNameToolTipText

queryPatientIDToolTipText

protected static String queryPatientIDToolTipText

queryStudyDateToolTipText

protected static String queryStudyDateToolTipText

retrieveOnlyDoseSeriesRecordLabelText

protected static String retrieveOnlyDoseSeriesRecordLabelText

processOnlyDoseSeriesRecordLabelText

protected static String processOnlyDoseSeriesRecordLabelText

showOnlyDoseSummaryLabelText

protected static String showOnlyDoseSummaryLabelText

showDetailedLogLabelText

protected static String showDetailedLogLabelText

reportTabularLayoutLabelText

protected static String reportTabularLayoutLabelText

caseSensitiveCodeMeaningValidationLabelText

protected static String caseSensitiveCodeMeaningValidationLabelText

deidentifyWhenSendingToRegistryLabelText

protected static String deidentifyWhenSendingToRegistryLabelText

reportTitleMessage

protected static String reportTitleMessage

loggerTitleMessage

protected static String loggerTitleMessage

viewerFrameWidthWanted

protected static int viewerFrameWidthWanted

viewerFrameHeightWanted

protected static int viewerFrameHeightWanted

validatorFrameWidthWanted

protected static int validatorFrameWidthWanted

validatorFrameHeightWanted

protected static int validatorFrameHeightWanted

reportDialogWidthWanted

protected static int reportDialogWidthWanted

reportDialogHeightWanted

protected static int reportDialogHeightWanted

loggertDialogWidthWanted

protected static int loggertDialogWidthWanted

loggerDialogHeightWanted

protected static int loggerDialogHeightWanted

srcDatabase

protected DatabaseInformationModel srcDatabase

srcDatabasePanel

protected JPanel srcDatabasePanel

remoteQueryRetrievePanel

protected JPanel remoteQueryRetrievePanel

retrieveOnlyDoseSeriesRecordCheckBox

protected JCheckBox retrieveOnlyDoseSeriesRecordCheckBox

processOnlyDoseSeriesRecordCheckBox

protected JCheckBox processOnlyDoseSeriesRecordCheckBox

showOnlyDoseSummaryCheckBox

protected JCheckBox showOnlyDoseSummaryCheckBox

showDetailedLogCheckBox

protected JCheckBox showDetailedLogCheckBox

reportTabularLayoutCheckBox

protected JCheckBox reportTabularLayoutCheckBox

caseSensitiveCodeMeaningValidationCheckBox

protected JCheckBox caseSensitiveCodeMeaningValidationCheckBox

deidentifyWhenSendingToRegistryCheckBox

protected JCheckBox deidentifyWhenSendingToRegistryCheckBox

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

ftpApplicationProperties

protected FTPApplicationProperties ftpApplicationProperties

ftpRemoteHostInformation

protected FTPRemoteHostInformation ftpRemoteHostInformation

currentRemoteQueryInformationModel

protected QueryInformationModel currentRemoteQueryInformationModel

currentRemoteQueryTreeBrowser

protected QueryTreeBrowser currentRemoteQueryTreeBrowser

ourCalledAETitle

protected String ourCalledAETitle

validator

protected static DicomSRValidator validator

haveScannedForCodecs

protected static boolean haveScannedForCodecs

haveCheckedForJPEGLosslessCodec

protected static boolean haveCheckedForJPEGLosslessCodec

haveFoundJPEGLosslessCodec

protected static boolean haveFoundJPEGLosslessCodec

haveCheckedForJPEG2000Part1Codec

protected static boolean haveCheckedForJPEG2000Part1Codec

haveFoundJPEG2000Part1Codec

protected static boolean haveFoundJPEG2000Part1Codec

savedImagesFolder

protected File savedImagesFolder

storageSOPClassSCPDispatcher

protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher

currentDatabaseTreeRecordSelections

protected DatabaseTreeRecord[] currentDatabaseTreeRecordSelections

importDirectoryPath

protected String importDirectoryPath
Constructor Detail

DoseUtility

public DoseUtility(String title)
            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 fileRefererenceType)
                                      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 local database.

Will not persist when the application is closed, so in memory database is used and instances live in the temporary filesystem.

Throws:
DicomException

getCurrentSourceFilePathSelections

protected Vector getCurrentSourceFilePathSelections()

recurseThroughChildrenGatheringFileNamesOfDoseFiles

public static void recurseThroughChildrenGatheringFileNamesOfDoseFiles(DatabaseTreeRecord r,
                                                                       Vector names,
                                                                       boolean onlyDoseFiles,
                                                                       String manufacturer)

Recursively process the specified DatabaseTreeRecord and all its children finding file paths of possible dose-related files (not the reconstructed image files) at the instance level.

Based on the method in DatabaseTreeBrowser, modified to filter by database record type.

Parameters:
r - the current DatabaseTreeRecord to process
names - the file names (paths) to add to
onlyDoseFiles - if true, only process dose-related files (not the reconstructed image files)
manufacturer - passed from series level down to instance

recurseThroughChildrenGatheringFileNamesOfSRFiles

public static void recurseThroughChildrenGatheringFileNamesOfSRFiles(DatabaseTreeRecord r,
                                                                     Vector names)

Recursively process the specified DatabaseTreeRecord and all its children finding file paths of SR files at the instance level.

Based on the method in DatabaseTreeBrowser, modified to filter by database record type.

Parameters:
r - the current DatabaseTreeRecord to process
names - the file names (paths) to add to

extractRadiationDoseSRFiles

protected Vector extractRadiationDoseSRFiles(Vector candidatePaths)

generateDoseReportInformation

protected void generateDoseReportInformation(DatabaseTreeRecord[] databaseSelections,
                                             JEditorPane reportPane,
                                             StringBuffer textBuffer,
                                             boolean doHTML,
                                             MessageLogger logger,
                                             SafeProgressBarUpdaterThread progressBarUpdater,
                                             int done,
                                             int maximum)
                                      throws DicomException,
                                             IOException
Throws:
DicomException
IOException

generateDoseReportInformation

protected void generateDoseReportInformation(DatabaseTreeRecord databaseSelection,
                                             JEditorPane reportPane,
                                             StringBuffer textBuffer,
                                             boolean doHTML,
                                             MessageLogger logger,
                                             SafeProgressBarUpdaterThread progressBarUpdater,
                                             int done,
                                             int maximum)
                                      throws DicomException,
                                             IOException
Throws:
DicomException
IOException

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

getSRDescriptionForLog

protected static String getSRDescriptionForLog(AttributeList list)

getOriginDescriptionForLog

protected static String getOriginDescriptionForLog(CTDose ctDose,
                                                   DatabaseInformationModel srcDatabase)
                                            throws DicomException
Throws:
DicomException

generateDoseSR

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

generateDoseSR

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

deidentifyFiles

protected Vector<String> deidentifyFiles(Vector<String> paths)
                                  throws DicomException,
                                         IOException
Throws:
DicomException
IOException

getQueryRetrieveAEFromIdentifier

public static String getQueryRetrieveAEFromIdentifier(AttributeList identifier,
                                                      QueryInformationModel queryInformationModel)

getQueryRetrieveLevel

public static String getQueryRetrieveLevel(AttributeList identifier,
                                           Attribute uniqueKey)

performRetrieve

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

findDoseSeriesRecordsInQueryTree

public static ArrayList<QueryTreeRecord> findDoseSeriesRecordsInQueryTree(QueryTreeRecord record,
                                                                          ArrayList<QueryTreeRecord> records)

findCTSeriesAndRelatedRecordsInQueryTree

public static ArrayList<QueryTreeRecord> findCTSeriesAndRelatedRecordsInQueryTree(QueryTreeRecord record,
                                                                                  ArrayList<QueryTreeRecord> records)

main

public static void main(String[] arg)

The method to invoke the application.

Parameters:
arg - none