Class JDialogThreshold

  • All Implemented Interfaces:
    AlgorithmInterface, ScriptableActionInterface, DialogDefaultsInterface, java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class JDialogThreshold
    extends JDialogScriptableBase
    implements AlgorithmInterface
    Dialog to get user input, then call the algorithm. The user has the option to generate a new image or replace the source image. In addition the user can indicate if you wishes to have the algorithm applied to whole image or to the VOI regions. In should be noted, that the algorithms are executed in their own thread.
    Version:
    1.0 Nov 9, 1999
    Author:
    Matthew J. McAuliffe, Ph.D.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  JDialogThreshold.CheckValueAction
      DOCUMENT ME!
      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Constructor Summary

      Constructors 
      Constructor Description
      JDialogThreshold()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogThreshold​(java.awt.Frame theParentFrame, ModelImage im)
      Creates a new JDialogThreshold object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Closes dialog box when the OK button is pressed and calls the algorithm.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      void calcHistogram()
      DOCUMENT ME!
      protected void callAlgorithm()
      Once all the necessary variables are set, call the Gaussian Blur algorithm based on what type of image this is and whether or not there is a separate destination image.
      protected void doPostAlgorithmActions()
      Used to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table).
      private java.lang.String getRangeString​(int imageType)
      DOCUMENT ME!
      ModelImage getResultImage()
      Accessor that returns the image.
      private void init()
      Sets up the GUI (panels, buttons, etc) and displays it on the screen.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      Sets the fill value text box to enabled or disabled depending on if the binary checkbox is selected.
      void runFromLUTFrame​(ModelImage im, float lowerThres, float upperThres, float fillV, int output_type, boolean inverseFlag)
      Function for setting up/running the threshold algorithm from the ViewJFrameHistoLUT.
      void setDisplayLocNew()
      Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.
      void setDisplayLocReplace()
      Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.
      void setFillValue​(float scale)
      Accessor that sets the fill value.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setOutputType​(int output_type)
      Accessor that sets the output type.
      void setRegionFlag​(boolean flag)
      Accessor that sets the region flag.
      void setThres1​(float threshold)
      Accessor that sets the first threshold.
      void setThres2​(float threshold)
      Accessor that sets the second threshold.
      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      protected void storeParamsFromGUI()
      Record the parameters just used to run this algorithm in a script.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, 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, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        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
      • Methods inherited from class java.awt.Component

        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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • displayLoc

        private int displayLoc
        DOCUMENT ME!
      • fillValue

        private float fillValue
        DOCUMENT ME!
      • inverseCheckbox

        private javax.swing.JCheckBox inverseCheckbox
        DOCUMENT ME!
      • isInverse

        private boolean isInverse
        DOCUMENT ME!
      • labelThres2

        private javax.swing.JLabel labelThres2
        DOCUMENT ME!
      • maxEntCheckbox

        private javax.swing.JCheckBox maxEntCheckbox
        DOCUMENT ME!
      • min

        private float min
        DOCUMENT ME!
      • max

        private float max
        DOCUMENT ME!
      • newImage

        private javax.swing.JRadioButton newImage
        DOCUMENT ME!
      • otsuCheckbox

        private javax.swing.JCheckBox otsuCheckbox
        DOCUMENT ME!
      • outMax

        private double outMax
        DOCUMENT ME!
      • outMin

        private double outMin
        DOCUMENT ME!
      • outputBox

        private javax.swing.JComboBox outputBox
        Holds the choices for the outputType.
      • outputType

        private int outputType
        Same data-type, binary, or unsigned byte mask.
      • regionFlag

        private boolean regionFlag
        or if the source image is to be replaced.
      • replaceImage

        private javax.swing.JRadioButton replaceImage
        DOCUMENT ME!
      • resultImage

        private ModelImage resultImage
        DOCUMENT ME!
      • textFill

        private javax.swing.JTextField textFill
        DOCUMENT ME!
      • textThres1

        private javax.swing.JTextField textThres1
        DOCUMENT ME!
      • textThres2

        private javax.swing.JTextField textThres2
        DOCUMENT ME!
      • thres1

        private float thres1
        DOCUMENT ME!
      • thres2

        private float thres2
        DOCUMENT ME!
      • thresholdType

        private int thresholdType
        DOCUMENT ME!
      • titles

        private java.lang.String[] titles
        DOCUMENT ME!
      • VOIRegions

        private javax.swing.JRadioButton VOIRegions
        DOCUMENT ME!
      • wholeImage

        private javax.swing.JRadioButton wholeImage
        DOCUMENT ME!
    • Constructor Detail

      • JDialogThreshold

        public JDialogThreshold()
        Empty constructor needed for dynamic instantiation (used during scripting).
      • JDialogThreshold

        public JDialogThreshold​(java.awt.Frame theParentFrame,
                                ModelImage im)
        Creates a new JDialogThreshold object.
        Parameters:
        theParentFrame - Parent frame.
        im - Source image.
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Closes dialog box when the OK button is pressed and calls the algorithm.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        Parameters:
        event - Event that triggers function.
      • algorithmPerformed

        public void algorithmPerformed​(AlgorithmBase algorithm)
        This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithms when it has completed or failed to to complete, so that the dialog can be display the result image and/or clean up.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • calcHistogram

        public void calcHistogram()
        DOCUMENT ME!
      • getResultImage

        public ModelImage getResultImage()
        Accessor that returns the image.
        Returns:
        The result image.
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        Sets the fill value text box to enabled or disabled depending on if the binary checkbox is selected.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        Parameters:
        event - Event that cause the method to fire.
      • runFromLUTFrame

        public void runFromLUTFrame​(ModelImage im,
                                    float lowerThres,
                                    float upperThres,
                                    float fillV,
                                    int output_type,
                                    boolean inverseFlag)
        Function for setting up/running the threshold algorithm from the ViewJFrameHistoLUT.
        Parameters:
        im - ModelImage image
        lowerThres - float lower threshold
        upperThres - float upper threshold
        fillV - float fill value
        output_type - output type: same, binary, unsigned byte mask
        inverseFlag - normal or inverse threshold
      • setDisplayLocNew

        public void setDisplayLocNew()
        Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.
      • setDisplayLocReplace

        public void setDisplayLocReplace()
        Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.
      • setFillValue

        public void setFillValue​(float scale)
        Accessor that sets the fill value. Will not be used if writing out a binary image.
        Parameters:
        scale - Value to set fill value to.
      • setOutputType

        public void setOutputType​(int output_type)
        Accessor that sets the output type.
        Parameters:
        output_type - 0 is normal, 1 is binary, 2 is unsigned byte mask
      • setRegionFlag

        public void setRegionFlag​(boolean flag)
        Accessor that sets the region flag.
        Parameters:
        flag - true indicates the whole image is blurred, false indicates a region.
      • setThres1

        public void setThres1​(float threshold)
        Accessor that sets the first threshold.
        Parameters:
        threshold - Value to set threshold to (between min and max of image).
      • setThres2

        public void setThres2​(float threshold)
        Accessor that sets the second threshold.
        Parameters:
        threshold - Value to set threshold to (between min and max of image).
      • callAlgorithm

        protected void callAlgorithm()
        Once all the necessary variables are set, call the Gaussian Blur algorithm based on what type of image this is and whether or not there is a separate destination image.
        Specified by:
        callAlgorithm in class JDialogScriptableBase
      • doPostAlgorithmActions

        protected void doPostAlgorithmActions()
        Used to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table). Defaults to no action, override to actually have it do something.
        Overrides:
        doPostAlgorithmActions in class JDialogScriptableBase
      • setGUIFromParams

        protected void setGUIFromParams()
        Set the dialog GUI using the script parameters while running this algorithm as part of a script.
        Specified by:
        setGUIFromParams in class JDialogScriptableBase
      • getRangeString

        private java.lang.String getRangeString​(int imageType)
        DOCUMENT ME!
        Parameters:
        imageType - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • init

        private void init()
        Sets up the GUI (panels, buttons, etc) and displays it on the screen.
      • setVariables

        private boolean setVariables()
        Use the GUI results to set up the variables needed to run the algorithm.
        Returns:
        true if parameters set successfully, false otherwise.