Class DicomImageBlackout

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
Direct Known Subclasses:
DicomCleaner.OurDicomImageBlackout

public class DicomImageBlackout extends 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.

See Also:
  • Field Details

    • resourceBundleName

      protected static String resourceBundleName
    • resourceBundle

      protected ResourceBundle resourceBundle
    • ourAETitle

      protected String ourAETitle
    • dicomFileNames

      protected String[] dicomFileNames
    • currentFileName

      protected String currentFileName
    • currentFileNumber

      protected int currentFileNumber
    • mainPanel

      protected Box mainPanel
    • multiPanel

      protected JPanel multiPanel
    • imagePanel

      protected SingleImagePanel imagePanel
    • list

      protected AttributeList list
    • sImg

      protected SourceImage sImg
    • changesWereMade

      protected boolean changesWereMade
    • usedjpegblockredaction

      protected boolean usedjpegblockredaction
    • deferredDecompression

      protected boolean deferredDecompression
    • redactedJPEGFile

      protected File redactedJPEGFile
    • previousRows

      protected int previousRows
    • previousColumns

      protected int previousColumns
    • previousPersistentDrawingShapes

      protected Vector previousPersistentDrawingShapes
    • cineSliderControlsPanel

      protected JPanel cineSliderControlsPanel
    • cineSliderChangeListener

      protected DicomImageBlackout.CineSliderChangeListener cineSliderChangeListener
    • cineSlider

      protected JSlider cineSlider
    • imagesRemainingLabel

      protected JLabel imagesRemainingLabel
    • ourEventContext

      protected EventContext ourEventContext
    • burnInOverlays

      protected boolean burnInOverlays
    • useZeroBlackoutValue

      protected boolean useZeroBlackoutValue
    • usePixelPaddingBlackoutValue

      protected boolean usePixelPaddingBlackoutValue
    • useZeroBlackoutValueCheckBox

      protected JCheckBox useZeroBlackoutValueCheckBox
    • usePixelPaddingBlackoutValueCheckBox

      protected JCheckBox usePixelPaddingBlackoutValueCheckBox
    • ourFrameSelectionChangeListener

      protected com.pixelmed.display.DicomImageBlackout.OurFrameSelectionChangeListener ourFrameSelectionChangeListener
    • burnedinflag

      protected int burnedinflag
    • statusNotificationHandler

      protected DicomImageBlackout.StatusNotificationHandler statusNotificationHandler
    • applyActionListener

      protected DicomImageBlackout.ApplyActionListener applyActionListener
    • saveActionListener

      protected DicomImageBlackout.SaveActionListener saveActionListener
    • nextActionListener

      protected DicomImageBlackout.NextActionListener nextActionListener
    • previousActionListener

      protected DicomImageBlackout.PreviousActionListener previousActionListener
    • blackoutApplyButton

      protected JButton blackoutApplyButton
    • blackoutSaveButton

      protected JButton blackoutSaveButton
    • blackoutNextButton

      protected JButton blackoutNextButton
    • blackoutPreviousButton

      protected JButton 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 raised
      snh - an instance of StatusNotificationHandler; if null, a default handler will be used that writes to stderr
      burnedinflag - whether or not and under what circumstances to to add/change BurnedInAnnotation attribute; takes one of the values of BurnedInAnnotationFlagAction
    • 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 locale
      dicomFileNames - the list of file names to process, if null a file chooser dialog will be raised
      snh - an instance of StatusNotificationHandler; if null, a default handler will be used that writes to stderr
      burnedinflag - whether or not and under what circumstances to to add/change BurnedInAnnotation attribute; takes one of the values of BurnedInAnnotationFlagAction
  • Method Details

    • recordStateOfDrawingShapesForFileChange

      protected void recordStateOfDrawingShapesForFileChange()
    • createCineSliderIfNecessary

      protected void createCineSliderIfNecessary(int min, int max, int value)
      Parameters:
      min - minimum frame number, starting from 1
      max - number of frames
      value - frame number, starting from 1
    • updateDisplayedFileNumber

      protected void updateDisplayedFileNumber(int current, int total)
    • loadDicomFileOrDirectory

      protected void loadDicomFileOrDirectory(String dicomFileName)

      Load the named DICOM file and display it in the image panel.

      Parameters:
      dicomFileName -
    • loadDicomFileOrDirectory

      protected void loadDicomFileOrDirectory(File currentFile)

      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

      protected Dimension changeDimensionToFitInMaximumAvailable(Dimension useDimension, Dimension maxDimension, boolean onlySmaller)
    • reduceDimensionToFitInMaximumAvailable

      protected Dimension reduceDimensionToFitInMaximumAvailable(Dimension useDimension)
    • addSingleImagePanelToMultiPanelAndEstablishLayout

      protected void addSingleImagePanelToMultiPanelAndEstablishLayout()
    • addSingleImagePanelToMultiPanelAndEstablishLayoutWithCenterMaximumAfterInitialSizeLayout

      protected void addSingleImagePanelToMultiPanelAndEstablishLayoutWithCenterMaximumAfterInitialSizeLayout()
    • showUIComponents

      protected void showUIComponents()
    • buildUIComponents

      protected void buildUIComponents()
    • deconstruct

      public void deconstruct()
    • dispose

      public void dispose()
      Overrides:
      dispose in class Window
    • finalize

      protected void finalize() throws Throwable
      Throws:
      Throwable
    • main

      public static void main(String[] arg)

      The method to invoke the application.

      Parameters:
      arg - optionally, a list of files; if absent a file dialog is presented