Class DoseUtility
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
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, Window.Type
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
FieldsModifier and TypeFieldDescriptionprotected JCheckBox
protected static String
protected static String
protected static String
protected DatabaseTreeRecord[]
protected QueryInformationModel
protected QueryTreeBrowser
protected SafeCursorChanger
protected JCheckBox
protected static String
protected FTPApplicationProperties
protected FTPRemoteHostInformation
protected static String
protected static String
protected String
protected static String
protected static String
protected static String
protected static String
protected MessageLogger
protected static int
protected static int
protected static String
protected static String
protected static String
protected NetworkApplicationInformation
protected NetworkApplicationProperties
protected String
protected JCheckBox
protected static String
protected SafeProgressBarUpdaterThread
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected JTextField
protected JTextField
protected JTextField
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected static String
protected JPanel
protected static String
protected static String
protected static int
protected static int
protected JCheckBox
protected static String
protected static String
protected static String
protected static String
protected JCheckBox
protected static String
protected File
protected static String
protected static String
protected JCheckBox
protected static String
protected JCheckBox
protected static String
protected DatabaseInformationModel
protected JPanel
protected StorageSOPClassSCPDispatcher
protected static int
protected static int
protected static int
protected static String
protected static String
protected static DicomSRValidator
protected static int
protected static int
protected static String
protected static String
protected static int
protected static int
Fields inherited from class com.pixelmed.display.ApplicationFrame
resourceBundle, resourceBundleName, statusBarManager
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
Fields inherited from class java.awt.Frame
ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, NORMAL
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Start DICOM storage listener for populating source database.protected void
Start local database.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
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
protected static void
importFileIntoDatabase
(DatabaseInformationModel database, String dicomFileName, String fileRefererenceType) static void
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
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, getBooleanPropertyOrDefaultAndAddIt, getBooleanPropertyOrDefaultAndAddIt, getBuildDate, getIntegerPropertyOrDefaultAndAddIt, getIntegerPropertyOrDefaultAndAddIt, getProperties, getPropertyInsistently, getPropertyInsistently, getPropertyOrDefaultAndAddIt, getPropertyOrDefaultAndAddIt, getReleaseString, getStatusBar, loadProperties, localizeJOptionPane, makePathToFileInUsersHomeDirectory, setApplicationPropertyFileName, setBackgroundForGUI, setInternationalizedFontsForGUI, setPreferredLookAndFeelForPlatform, storeProperties, takeSnapShot
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
Methods inherited from class java.awt.Frame
addNotify, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, toBack, toFront
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, paintComponents, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.awt.MenuContainer
getFont
-
Field Details
-
propertiesFileName
-
propertyName_DicomCurrentlySelectedStorageTargetAE
-
propertyName_DicomCurrentlySelectedQueryTargetAE
-
propertyName_CurrentlySelectedDoseRegistry
-
localDatabaseName
-
localDatabaseServerName
-
textFieldLengthForQueryPatientName
protected static int textFieldLengthForQueryPatientName -
textFieldLengthForQueryPatientID
protected static int textFieldLengthForQueryPatientID -
textFieldLengthForQueryStudyDate
protected static int textFieldLengthForQueryStudyDate -
queryIntroductionLabelText
-
queryPatientNameLabelText
-
queryPatientIDLabelText
-
queryStudyDateLabelText
-
configureButtonLabel
-
logButtonLabel
-
queryButtonLabel
-
retrieveButtonLabel
-
importButtonLabel
-
viewButtonLabel
-
validateButtonLabel
-
reportButtonLabel
-
makeSRButtonLabel
-
sendButtonLabel
-
registryButtonLabel
-
purgeButtonLabel
-
configureButtonToolTipText
-
logButtonToolTipText
-
queryButtonToolTipText
-
retrieveButtonToolTipText
-
importButtonToolTipText
-
viewButtonToolTipText
-
validateButtonToolTipText
-
reportButtonToolTipText
-
makeSRButtonToolTipText
-
sendButtonToolTipText
-
registryButtonToolTipText
-
purgeButtonToolTipText
-
queryPatientNameToolTipText
-
queryPatientIDToolTipText
-
queryStudyDateToolTipText
-
retrieveOnlyDoseSeriesRecordLabelText
-
processOnlyDoseSeriesRecordLabelText
-
showOnlyDoseSummaryLabelText
-
showDetailedLogLabelText
-
reportTabularLayoutLabelText
-
caseSensitiveCodeMeaningValidationLabelText
-
deidentifyWhenSendingToRegistryLabelText
-
reportTitleMessage
-
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
-
srcDatabasePanel
-
remoteQueryRetrievePanel
-
retrieveOnlyDoseSeriesRecordCheckBox
-
processOnlyDoseSeriesRecordCheckBox
-
showOnlyDoseSummaryCheckBox
-
showDetailedLogCheckBox
-
reportTabularLayoutCheckBox
-
caseSensitiveCodeMeaningValidationCheckBox
-
deidentifyWhenSendingToRegistryCheckBox
-
queryFilterPatientNameTextField
-
queryFilterPatientIDTextField
-
queryFilterStudyDateTextField
-
progressBarUpdater
-
cursorChanger
-
logger
-
networkApplicationProperties
-
networkApplicationInformation
-
ftpApplicationProperties
-
ftpRemoteHostInformation
-
currentRemoteQueryInformationModel
-
currentRemoteQueryTreeBrowser
-
ourCalledAETitle
-
validator
-
savedImagesFolder
-
storageSOPClassSCPDispatcher
-
currentDatabaseTreeRecordSelections
-
importDirectoryPath
-
-
Constructor Details
-
DoseUtility
- Throws:
DicomException
IOException
-
-
Method Details
-
setCurrentRemoteQueryInformationModel
-
importFileIntoDatabase
protected static void importFileIntoDatabase(DatabaseInformationModel database, String dicomFileName, String fileRefererenceType) throws FileNotFoundException, IOException, DicomException -
activateStorageSCP
Start DICOM storage listener for populating source database.
- Throws:
DicomException
IOException
-
activateTemporaryDatabases
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
-
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 processnames
- the file names (paths) to add toonlyDoseFiles
- 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 processnames
- the file names (paths) to add to
-
extractRadiationDoseSRFiles
-
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
-
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
- Throws:
DicomException
IOException
-
getQueryRetrieveAEFromIdentifier
public static String getQueryRetrieveAEFromIdentifier(AttributeList identifier, QueryInformationModel queryInformationModel) -
getQueryRetrieveLevel
-
performRetrieve
-
findDoseSeriesRecordsInQueryTree
public static ArrayList<QueryTreeRecord> findDoseSeriesRecordsInQueryTree(QueryTreeRecord record, ArrayList<QueryTreeRecord> records) -
findCTSeriesAndRelatedRecordsInQueryTree
public static ArrayList<QueryTreeRecord> findCTSeriesAndRelatedRecordsInQueryTree(QueryTreeRecord record, ArrayList<QueryTreeRecord> records) -
main
The method to invoke the application.
- Parameters:
arg
- none
-