Class JDialogColorEdge

  • 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 JDialogColorEdge
    extends JDialogScriptableBase
    implements AlgorithmInterface
    GUI for entering parameters for the Color Edge algorithm and making it scriptable.
    See Also:
    Serialized Form
    • Nested Class Summary

      • 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
      JDialogColorEdge()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogColorEdge​(javax.swing.JFrame owner, ModelImage mi)
      Creates an modal extension of JDialogBase, using the title, "Local Normalization".
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent ae)
      a button has been clicked!
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      private javax.swing.JPanel buildColorPanel()
      part of the algorithm rests on finding the original image minus an estimation of the local mean.
      private javax.swing.JPanel buildOkayCancelPanel()
      creates the planel which contains the OKAY and Cancel buttons. sets their sizes, colours and listeners.
      protected void callAlgorithm()
      Once all the necessary variables are set, call the local normalization algorithm based on what type of image this is and whether or not there is a separate destination image.
      private javax.swing.JTextField createEntryField​(java.lang.String presetText)
      Builds a new JTextField, with the given String, sets its font (to MipavUtil.font12), sets the foreground colour (to Color.black), sets column width to 7, then returns the newly made JTextField.
      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      ModelImage getResultImage()
      Accessor that returns the image.
      void setBlue1​(int blue1)
      DOCUMENT ME!
      void setBlue2​(int blue2)
      DOCUMENT ME!
      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 setGreen1​(int green1)
      DOCUMENT ME!
      void setGreen2​(int green2)
      DOCUMENT ME!
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setRed1​(int red1)
      DOCUMENT ME!
      void setRed2​(int red2)
      DOCUMENT ME!
      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!
      • red1

        private int red1
        DOCUMENT ME!
      • green1

        private int green1
        DOCUMENT ME!
      • blue1

        private int blue1
        DOCUMENT ME!
      • red1Text

        private javax.swing.JTextField red1Text
        DOCUMENT ME!
      • green1Text

        private javax.swing.JTextField green1Text
        DOCUMENT ME!
      • blue1Text

        private javax.swing.JTextField blue1Text
        DOCUMENT ME!
      • red2

        private int red2
        DOCUMENT ME!
      • green2

        private int green2
        DOCUMENT ME!
      • blue2

        private int blue2
        DOCUMENT ME!
      • red2Text

        private javax.swing.JTextField red2Text
        DOCUMENT ME!
      • green2Text

        private javax.swing.JTextField green2Text
        DOCUMENT ME!
      • blue2Text

        private javax.swing.JTextField blue2Text
        DOCUMENT ME!
      • resultImage

        private ModelImage resultImage
        DOCUMENT ME!
      • sourceImage

        private ModelImage sourceImage
        DOCUMENT ME!
      • titles

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

      • JDialogColorEdge

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

        public JDialogColorEdge​(javax.swing.JFrame owner,
                                ModelImage mi)
        Creates an modal extension of JDialogBase, using the title, "Local Normalization". Creates an options panel; this contains: the inputs for the unsharp masking; the inputs for blurring; and the inputs for choosing which colour channels to process. This last set of options are not selectable on images which are not colour images. It creates the OKAY and CANCEL buttons on a panel, to b be placed at the bottom of the dialog.

        The panel is then pack()'d and then setVisible(true).

        Parameters:
        owner - DOCUMENT ME!
        mi - DOCUMENT ME!
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent ae)
        a button has been clicked! Cancel will dispose of the dialog, OK sets the variables and calls the algorithm; any errors in setting the variables upon OK are written to the debug pane. Help brings up the help text.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        Parameters:
        ae - DOCUMENT ME!
      • 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.
      • getResultImage

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

        public void setBlue1​(int blue1)
        DOCUMENT ME!
        Parameters:
        blue1 - DOCUMENT ME!
      • setBlue2

        public void setBlue2​(int blue2)
        DOCUMENT ME!
        Parameters:
        blue2 - DOCUMENT ME!
      • 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.
      • setGreen1

        public void setGreen1​(int green1)
        DOCUMENT ME!
        Parameters:
        green1 - DOCUMENT ME!
      • setGreen2

        public void setGreen2​(int green2)
        DOCUMENT ME!
        Parameters:
        green2 - DOCUMENT ME!
      • setRed1

        public void setRed1​(int red1)
        DOCUMENT ME!
        Parameters:
        red1 - DOCUMENT ME!
      • setRed2

        public void setRed2​(int red2)
        DOCUMENT ME!
        Parameters:
        red2 - DOCUMENT ME!
      • callAlgorithm

        protected void callAlgorithm()
        Once all the necessary variables are set, call the local normalization 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()
        Store the result image in the script runner's image table now that the action execution is finished.
        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
      • buildColorPanel

        private javax.swing.JPanel buildColorPanel()
        part of the algorithm rests on finding the original image minus an estimation of the local mean.

        This is the same as using as unsharp-mask filter; so, this panel is a recreation of the inputs made in the JDialogUnsharpMask.

        Returns:
        The color panel.
        See Also:
        JDialogUnsharpMask
      • buildOkayCancelPanel

        private javax.swing.JPanel buildOkayCancelPanel()
        creates the planel which contains the OKAY and Cancel buttons. sets their sizes, colours and listeners.
        Returns:
        DOCUMENT ME!
      • createEntryField

        private javax.swing.JTextField createEntryField​(java.lang.String presetText)
        Builds a new JTextField, with the given String, sets its font (to MipavUtil.font12), sets the foreground colour (to Color.black), sets column width to 7, then returns the newly made JTextField.
        Parameters:
        presetText - the String to have the JTextField display.
        Returns:
        a black-text, font12'd, JTextField displaying presetText.
      • 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.