Class DicomImageBlackout
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer,WindowConstants
- Direct Known Subclasses:
DicomCleaner.OurDicomImageBlackout
This class displays images and allows the user to black out burned-in annotation, and save the result.
A main method is provided, which can be supplied with a list of file names or pop up a file chooser dialog.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classprotected classclassA class of values for the Burned in Annotation action argument of theDicomImageBlackout()constructor.protected classprotected classprotected classclassA default status notification implementation, which just writes everything to stderr.protected classprotected classprotected classprotected classprotected classclassAn abstract class for the user of to supply a callback notification method, supplied as an argument of theDicomImageBlackout()constructor.protected 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 DicomImageBlackout.ApplyActionListenerprotected JButtonprotected JButtonprotected JButtonprotected JButtonprotected intprotected booleanprotected booleanprotected JSliderprotected JPanelprotected Stringprotected intprotected booleanprotected String[]protected SingleImagePanelprotected JLabelprotected AttributeListprotected Boxprotected JPanelprotected DicomImageBlackout.NextActionListenerprotected Stringprotected EventContextprotected com.pixelmed.display.DicomImageBlackout.OurFrameSelectionChangeListenerprotected intprotected Vectorprotected intprotected Fileprotected ResourceBundleprotected static Stringprotected DicomImageBlackout.SaveActionListenerprotected SourceImageprotected booleanprotected booleanprotected JCheckBoxprotected booleanprotected JCheckBoxFields 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
ConstructorsConstructorDescriptionDicomImageBlackout(String[] dicomFileNames, DicomImageBlackout.StatusNotificationHandler snh, int burnedinflag) Opens a window to display the supplied list of DICOM files to allow them to have burned in annotation blacked out.DicomImageBlackout(String title, String[] dicomFileNames, DicomImageBlackout.StatusNotificationHandler snh, int burnedinflag) Opens a window to display the supplied list of DICOM files to allow them to have burned in annotation blacked out. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidprotected voidprotected DimensionchangeDimensionToFitInMaximumAvailable(Dimension useDimension, Dimension maxDimension, boolean onlySmaller) protected voidcreateCineSliderIfNecessary(int min, int max, int value) voidvoiddispose()protected voidfinalize()protected doublegetScaleFactorToFitInMaximumAvailable(double useWidth, double useHeight, double maxWidth, double maxHeight) protected voidloadDicomFileOrDirectory(File currentFile) Load the named DICOM file and display it in the image panel.protected voidloadDicomFileOrDirectory(String dicomFileName) Load the named DICOM file and display it in the image panel.static voidThe method to invoke the application.protected voidprotected DimensionreduceDimensionToFitInMaximumAvailable(Dimension useDimension) protected voidprotected voidupdateDisplayedFileNumber(int current, int total) 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, 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, 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
-
resourceBundleName
-
resourceBundle
-
ourAETitle
-
dicomFileNames
-
currentFileName
-
currentFileNumber
protected int currentFileNumber -
mainPanel
-
multiPanel
-
imagePanel
-
list
-
sImg
-
changesWereMade
protected boolean changesWereMade -
usedjpegblockredaction
protected boolean usedjpegblockredaction -
deferredDecompression
protected boolean deferredDecompression -
redactedJPEGFile
-
previousRows
protected int previousRows -
previousColumns
protected int previousColumns -
previousPersistentDrawingShapes
-
cineSliderControlsPanel
-
cineSliderChangeListener
-
cineSlider
-
imagesRemainingLabel
-
ourEventContext
-
burnInOverlays
protected boolean burnInOverlays -
useZeroBlackoutValue
protected boolean useZeroBlackoutValue -
usePixelPaddingBlackoutValue
protected boolean usePixelPaddingBlackoutValue -
useZeroBlackoutValueCheckBox
-
usePixelPaddingBlackoutValueCheckBox
-
ourFrameSelectionChangeListener
protected com.pixelmed.display.DicomImageBlackout.OurFrameSelectionChangeListener ourFrameSelectionChangeListener -
burnedinflag
protected int burnedinflag -
statusNotificationHandler
-
applyActionListener
-
saveActionListener
-
nextActionListener
-
previousActionListener
-
blackoutApplyButton
-
blackoutSaveButton
-
blackoutNextButton
-
blackoutPreviousButton
-
-
Constructor Details
-
DicomImageBlackout
public DicomImageBlackout(String[] dicomFileNames, DicomImageBlackout.StatusNotificationHandler snh, int burnedinflag) Opens a window to display the supplied list of DICOM files to allow them to have burned in annotation blacked out.
Each file will be processed sequentially, with the edited pixel data overwriting the original file.
- Parameters:
dicomFileNames- the list of file names to process, if null a file chooser dialog will be raisedsnh- an instance ofStatusNotificationHandler; if null, a default handler will be used that writes to stderrburnedinflag- whether or not and under what circumstances to to add/change BurnedInAnnotation attribute; takes one of the values ofBurnedInAnnotationFlagAction
-
DicomImageBlackout
public DicomImageBlackout(String title, String[] dicomFileNames, DicomImageBlackout.StatusNotificationHandler snh, int burnedinflag) Opens a window to display the supplied list of DICOM files to allow them to have burned in annotation blacked out.
Each file will be processed sequentially, with the edited pixel data overwriting the original file.
- Parameters:
title- the string to use in the title bar of the window or null if use default for localedicomFileNames- the list of file names to process, if null a file chooser dialog will be raisedsnh- an instance ofStatusNotificationHandler; if null, a default handler will be used that writes to stderrburnedinflag- whether or not and under what circumstances to to add/change BurnedInAnnotation attribute; takes one of the values ofBurnedInAnnotationFlagAction
-
-
Method Details
-
recordStateOfDrawingShapesForFileChange
protected void recordStateOfDrawingShapesForFileChange() -
createCineSliderIfNecessary
protected void createCineSliderIfNecessary(int min, int max, int value) - Parameters:
min- minimum frame number, starting from 1max- number of framesvalue- frame number, starting from 1
-
updateDisplayedFileNumber
protected void updateDisplayedFileNumber(int current, int total) -
loadDicomFileOrDirectory
Load the named DICOM file and display it in the image panel.
- Parameters:
dicomFileName-
-
loadDicomFileOrDirectory
Load the named DICOM file and display it in the image panel.
- Parameters:
currentFile-
-
getScaleFactorToFitInMaximumAvailable
protected double getScaleFactorToFitInMaximumAvailable(double useWidth, double useHeight, double maxWidth, double maxHeight) -
changeDimensionToFitInMaximumAvailable
-
reduceDimensionToFitInMaximumAvailable
-
addSingleImagePanelToMultiPanelAndEstablishLayout
protected void addSingleImagePanelToMultiPanelAndEstablishLayout() -
addSingleImagePanelToMultiPanelAndEstablishLayoutWithCenterMaximumAfterInitialSizeLayout
protected void addSingleImagePanelToMultiPanelAndEstablishLayoutWithCenterMaximumAfterInitialSizeLayout() -
showUIComponents
protected void showUIComponents() -
buildUIComponents
protected void buildUIComponents() -
deconstruct
public void deconstruct() -
dispose
public void dispose() -
finalize
- Throws:
Throwable
-
main
The method to invoke the application.
- Parameters:
arg- optionally, a list of files; if absent a file dialog is presented
-