public class DicomImageBlackout
extends javax.swing.JFrame
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.
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
DicomImageBlackout(java.lang.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(java.lang.String title,
java.lang.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.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addSingleImagePanelToMultiPanelAndEstablishLayout() |
protected void |
addSingleImagePanelToMultiPanelAndEstablishLayoutWithCenterMaximumAfterInitialSizeLayout() |
protected void |
buildUIComponents() |
protected java.awt.Dimension |
changeDimensionToFitInMaximumAvailable(java.awt.Dimension useDimension,
java.awt.Dimension maxDimension,
boolean onlySmaller) |
protected void |
createCineSliderIfNecessary(int min,
int max,
int value) |
void |
deconstruct() |
void |
dispose() |
protected void |
finalize() |
protected double |
getScaleFactorToFitInMaximumAvailable(double useWidth,
double useHeight,
double maxWidth,
double maxHeight) |
protected void |
loadDicomFileOrDirectory(java.io.File currentFile)
Load the named DICOM file and display it in the image panel.
|
protected void |
loadDicomFileOrDirectory(java.lang.String dicomFileName)
Load the named DICOM file and display it in the image panel.
|
static void |
main(java.lang.String[] arg)
The method to invoke the application.
|
protected void |
recordStateOfDrawingShapesForFileChange() |
protected java.awt.Dimension |
reduceDimensionToFitInMaximumAvailable(java.awt.Dimension useDimension) |
protected void |
showUIComponents() |
protected void |
updateDisplayedFileNumber(int current,
int total) |
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, 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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
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, 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, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected DicomImageBlackout.ApplyActionListener applyActionListener
protected javax.swing.JButton blackoutApplyButton
protected javax.swing.JButton blackoutNextButton
protected javax.swing.JButton blackoutPreviousButton
protected javax.swing.JButton blackoutSaveButton
protected int burnedinflag
protected boolean burnInOverlays
protected boolean changesWereMade
protected javax.swing.JSlider cineSlider
protected DicomImageBlackout.CineSliderChangeListener cineSliderChangeListener
protected javax.swing.JPanel cineSliderControlsPanel
protected java.lang.String currentFileName
protected int currentFileNumber
protected boolean deferredDecompression
protected java.lang.String[] dicomFileNames
protected SingleImagePanel imagePanel
protected javax.swing.JLabel imagesRemainingLabel
protected AttributeList list
protected javax.swing.Box mainPanel
protected javax.swing.JPanel multiPanel
protected DicomImageBlackout.NextActionListener nextActionListener
protected java.lang.String ourAETitle
protected EventContext ourEventContext
protected com.pixelmed.display.DicomImageBlackout.OurFrameSelectionChangeListener ourFrameSelectionChangeListener
protected DicomImageBlackout.PreviousActionListener previousActionListener
protected int previousColumns
protected java.util.Vector previousPersistentDrawingShapes
protected int previousRows
protected java.io.File redactedJPEGFile
protected java.util.ResourceBundle resourceBundle
protected static java.lang.String resourceBundleName
protected DicomImageBlackout.SaveActionListener saveActionListener
protected SourceImage sImg
protected DicomImageBlackout.StatusNotificationHandler statusNotificationHandler
protected boolean usedjpegblockredaction
protected boolean usePixelPaddingBlackoutValue
protected javax.swing.JCheckBox usePixelPaddingBlackoutValueCheckBox
protected boolean useZeroBlackoutValue
protected javax.swing.JCheckBox useZeroBlackoutValueCheckBox
public DicomImageBlackout(java.lang.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.
dicomFileNames
- the list of file names to process, if null a file chooser dialog will be raisedsnh
- an instance of StatusNotificationHandler
; 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 of BurnedInAnnotationFlagAction
public DicomImageBlackout(java.lang.String title, java.lang.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.
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 of StatusNotificationHandler
; 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 of BurnedInAnnotationFlagAction
protected void addSingleImagePanelToMultiPanelAndEstablishLayout()
protected void addSingleImagePanelToMultiPanelAndEstablishLayoutWithCenterMaximumAfterInitialSizeLayout()
protected void buildUIComponents()
protected java.awt.Dimension changeDimensionToFitInMaximumAvailable(java.awt.Dimension useDimension, java.awt.Dimension maxDimension, boolean onlySmaller)
protected void createCineSliderIfNecessary(int min, int max, int value)
min
- minimum frame number, starting from 1max
- number of framesvalue
- frame number, starting from 1public void deconstruct()
public void dispose()
dispose
in class java.awt.Window
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
protected double getScaleFactorToFitInMaximumAvailable(double useWidth, double useHeight, double maxWidth, double maxHeight)
protected void loadDicomFileOrDirectory(java.io.File currentFile)
Load the named DICOM file and display it in the image panel.
currentFile
- protected void loadDicomFileOrDirectory(java.lang.String dicomFileName)
Load the named DICOM file and display it in the image panel.
dicomFileName
- public static void main(java.lang.String[] arg)
The method to invoke the application.
arg
- optionally, a list of files; if absent a file dialog is presentedprotected void recordStateOfDrawingShapesForFileChange()
protected java.awt.Dimension reduceDimensionToFitInMaximumAvailable(java.awt.Dimension useDimension)
protected void showUIComponents()
protected void updateDisplayedFileNumber(int current, int total)