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 classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classNested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrameNested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrameNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JCheckBoxprotected static Stringprotected static Stringprotected static Stringprotected DatabaseTreeRecord[]protected QueryInformationModelprotected QueryTreeBrowserprotected SafeCursorChangerprotected JCheckBoxprotected static Stringprotected FTPApplicationPropertiesprotected FTPRemoteHostInformationprotected static Stringprotected static Stringprotected Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected MessageLoggerprotected static intprotected static intprotected static Stringprotected static Stringprotected static Stringprotected NetworkApplicationInformationprotected NetworkApplicationPropertiesprotected Stringprotected JCheckBoxprotected static Stringprotected SafeProgressBarUpdaterThreadprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected JTextFieldprotected JTextFieldprotected JTextFieldprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected JPanelprotected static Stringprotected static Stringprotected static intprotected static intprotected JCheckBoxprotected static Stringprotected static Stringprotected static Stringprotected static Stringprotected JCheckBoxprotected static Stringprotected Fileprotected static Stringprotected static Stringprotected JCheckBoxprotected static Stringprotected JCheckBoxprotected static Stringprotected DatabaseInformationModelprotected JPanelprotected StorageSOPClassSCPDispatcherprotected static intprotected static intprotected static intprotected static Stringprotected static Stringprotected static DicomSRValidatorprotected static intprotected static intprotected static Stringprotected static Stringprotected static intprotected static intFields inherited from class com.pixelmed.display.ApplicationFrame
resourceBundle, resourceBundleName, statusBarManagerFields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Frame
ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, NORMALFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields 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 voidStart DICOM storage listener for populating source database.protected voidStart local database.deidentifyFiles(Vector<String> paths) protected VectorextractRadiationDoseSRFiles(Vector candidatePaths) static ArrayList<QueryTreeRecord>findCTSeriesAndRelatedRecordsInQueryTree(QueryTreeRecord record, ArrayList<QueryTreeRecord> records) static ArrayList<QueryTreeRecord>findDoseSeriesRecordsInQueryTree(QueryTreeRecord record, ArrayList<QueryTreeRecord> records) protected voidgenerateDoseReportInformation(DatabaseTreeRecord[] databaseSelections, JEditorPane reportPane, StringBuffer textBuffer, boolean doHTML, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) protected voidgenerateDoseReportInformation(DatabaseTreeRecord databaseSelection, JEditorPane reportPane, StringBuffer textBuffer, boolean doHTML, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) protected voidgenerateDoseSR(DatabaseInformationModel srcDatabase, DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) protected voidgenerateDoseSR(DatabaseInformationModel srcDatabase, DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) protected Vectorprotected static StringgetOriginDescriptionForLog(CTDose ctDose, DatabaseInformationModel srcDatabase) static StringgetQueryRetrieveAEFromIdentifier(AttributeList identifier, QueryInformationModel queryInformationModel) static StringgetQueryRetrieveLevel(AttributeList identifier, Attribute uniqueKey) protected static Stringprotected static voidimportFileIntoDatabase(DatabaseInformationModel database, String dicomFileName, String fileRefererenceType) static voidThe method to invoke the application.protected voidperformRetrieve(AttributeList uniqueKeys, String selectionLevel, String retrieveAE) protected voidpurgeFilesAndDatabaseInformation(DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) protected voidpurgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) static voidrecurseThroughChildrenGatheringFileNamesOfDoseFiles(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 voidRecursively process the specified DatabaseTreeRecord and all its children finding file paths of SR files at the instance level.protected voidsetCurrentRemoteQueryInformationModel(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, takeSnapShotMethods 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, updateMethods 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, setUndecoratedMethods 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, toFrontMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
DicomExceptionIOException
-
-
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:
DicomExceptionIOException
-
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:
DicomExceptionIOException
-
generateDoseReportInformation
protected void generateDoseReportInformation(DatabaseTreeRecord databaseSelection, JEditorPane reportPane, StringBuffer textBuffer, boolean doHTML, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, IOException - Throws:
DicomExceptionIOException
-
purgeFilesAndDatabaseInformation
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, IOException - Throws:
DicomExceptionIOException
-
purgeFilesAndDatabaseInformation
protected void purgeFilesAndDatabaseInformation(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, IOException - Throws:
DicomExceptionIOException
-
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:
DicomExceptionIOException
-
generateDoseSR
protected void generateDoseSR(DatabaseInformationModel srcDatabase, DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum) throws DicomException, IOException - Throws:
DicomExceptionIOException
-
deidentifyFiles
- Throws:
DicomExceptionIOException
-
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
-