Class JDialogGaborFilter

  • All Implemented Interfaces:
    AlgorithmInterface, ScriptableActionInterface, DialogDefaultsInterface, ActionDiscovery, 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 JDialogGaborFilter
    extends JDialogScriptableBase
    implements AlgorithmInterface, java.awt.event.ItemListener, ActionDiscovery, ScriptableActionInterface
    Dialog to get user input, then call the algorithm. The user has the option to generate a new image or replace the source image. It should be noted that the algorithms are executed in their own threads. Note that a filter and its mirror image reflected across the u and v frequency axes produce identical frequency responses.
    Version:
    March 21, 2006
    See Also:
    AlgorithmFrequencyFilter, 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
      JDialogGaborFilter()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogGaborFilter​(java.awt.Frame theParentFrame, ModelImage im)
      Creates a new JDialogGaborFilter 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.
      protected void callAlgorithm()
      Once all the necessary variables are set, call the Frequency Filter algorithm based on what type of image this is and whether or not there is a separate destination image.
      protected void callColorAlgorithm()
      Once all the necessary variables are set, call the Frequency Filter algorithm based on what type of image this is and whether or not there is a separate destination image.
      ParameterTable createInputParameters()
      Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in setGUIFromParams()).
      ParameterTable createOutputParameters()
      Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).
      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      ActionMetadata getActionMetadata()
      Return meta-information about this discoverable action for categorization and labeling purposes.
      java.lang.String getOutputImageName​(java.lang.String imageParamName)
      Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).
      ModelImage getResultImage()
      Accessor that returns the image.
      private void init()
      Sets up the GUI (panels, buttons, etc) and displays it on the screen.
      boolean isActionComplete()
      Returns whether the action has successfully completed its execution.
      void setCreateGabor​(boolean createGabor)
      Accessor that determines whether or not a Gabor filter image is created.
      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 setFreqU​(float scale)
      Accessor that sets the prerotation horizontal frequency variable.
      void setFreqV​(float scale)
      Accessor that sets the prerotation vertical frequency variable.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setSigmaU​(float scale)
      Accessor that sets the prerotation horizontal standard deviation variable.
      void setSigmaV​(float scale)
      Accessor that sets the prerotation vertical standard deviation variable.
      void setTheta​(float scale)
      Accessor that sets the rotation angle in degrees.
      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
      • Methods inherited from interface java.awt.event.ItemListener

        itemStateChanged
    • Field Detail

      • serialVersionUID

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

        private boolean createGabor
        DOCUMENT ME!
      • createGaborCheckBox

        private javax.swing.JCheckBox createGaborCheckBox
        DOCUMENT ME!
      • destinationGroup

        private javax.swing.ButtonGroup destinationGroup
        DOCUMENT ME!
      • destinationPanel

        private javax.swing.JPanel destinationPanel
        DOCUMENT ME!
      • displayLoc

        private int displayLoc
        DOCUMENT ME!
      • filterPanel

        private javax.swing.JPanel filterPanel
        DOCUMENT ME!
      • freqU

        private float freqU
        DOCUMENT ME!
      • freqV

        private float freqV
        DOCUMENT ME!
      • labelFU

        private javax.swing.JLabel labelFU
        DOCUMENT ME!
      • labelFV

        private javax.swing.JLabel labelFV
        DOCUMENT ME!
      • labelSU

        private javax.swing.JLabel labelSU
        DOCUMENT ME!
      • labelSV

        private javax.swing.JLabel labelSV
        DOCUMENT ME!
      • labelTheta

        private javax.swing.JLabel labelTheta
        DOCUMENT ME!
      • mainPanel

        private javax.swing.JPanel mainPanel
        DOCUMENT ME!
      • newImage

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

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

        private ModelImage resultImage
        DOCUMENT ME!
      • sigmaU

        private float sigmaU
        DOCUMENT ME!
      • sigmaV

        private float sigmaV
        DOCUMENT ME!
      • textFU

        private javax.swing.JTextField textFU
        DOCUMENT ME!
      • textFV

        private javax.swing.JTextField textFV
        DOCUMENT ME!
      • textSU

        private javax.swing.JTextField textSU
        DOCUMENT ME!
      • textSV

        private javax.swing.JTextField textSV
        DOCUMENT ME!
      • textTheta

        private javax.swing.JTextField textTheta
        DOCUMENT ME!
      • theta

        private float theta
        DOCUMENT ME!
      • titles

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

      • JDialogGaborFilter

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

        public JDialogGaborFilter​(java.awt.Frame theParentFrame,
                                  ModelImage im)
        Creates a new JDialogGaborFilter 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.
      • getResultImage

        public ModelImage getResultImage()
        Accessor that returns the image.
        Returns:
        The result image.
      • 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
      • 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
      • setCreateGabor

        public void setCreateGabor​(boolean createGabor)
        Accessor that determines whether or not a Gabor filter image is created.
        Parameters:
        createGabor - variable determining whether or not a Gabor filter image is created.
      • 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.
      • setFreqU

        public void setFreqU​(float scale)
        Accessor that sets the prerotation horizontal frequency variable.
        Parameters:
        scale - Value to set prerotation horizontal frequency to.
      • setFreqV

        public void setFreqV​(float scale)
        Accessor that sets the prerotation vertical frequency variable.
        Parameters:
        scale - Value to set prerotation vertical frequency to.
      • setSigmaU

        public void setSigmaU​(float scale)
        Accessor that sets the prerotation horizontal standard deviation variable.
        Parameters:
        scale - Value to set prerotation horizontal standard deviation to.
      • setSigmaV

        public void setSigmaV​(float scale)
        Accessor that sets the prerotation vertical standard deviation variable.
        Parameters:
        scale - Value to set prerotation vertical standard deviation to.
      • setTheta

        public void setTheta​(float scale)
        Accessor that sets the rotation angle in degrees.
        Parameters:
        scale - Value to set rotation angle in degrees to.
      • callAlgorithm

        protected void callAlgorithm()
        Once all the necessary variables are set, call the Frequency Filter 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
      • callColorAlgorithm

        protected void callColorAlgorithm()
        Once all the necessary variables are set, call the Frequency Filter algorithm based on what type of image this is and whether or not there is a separate destination image.
      • 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.
      • getActionMetadata

        public ActionMetadata getActionMetadata()
        Return meta-information about this discoverable action for categorization and labeling purposes.
        Specified by:
        getActionMetadata in interface ActionDiscovery
        Returns:
        Metadata for this action.
      • createInputParameters

        public ParameterTable createInputParameters()
        Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in setGUIFromParams()).
        Specified by:
        createInputParameters in interface ActionDiscovery
        Returns:
        A parameter table listing the inputs of this algorithm.
      • createOutputParameters

        public ParameterTable createOutputParameters()
        Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).
        Specified by:
        createOutputParameters in interface ActionDiscovery
        Returns:
        A parameter table listing the outputs of this algorithm.
      • getOutputImageName

        public java.lang.String getOutputImageName​(java.lang.String imageParamName)
        Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).
        Specified by:
        getOutputImageName in interface ActionDiscovery
        Parameters:
        imageParamName - The output image parameter label for which to get the image name.
        Returns:
        The image name of the requested output image parameter label.
      • isActionComplete

        public boolean isActionComplete()
        Returns whether the action has successfully completed its execution.
        Specified by:
        isActionComplete in interface ActionDiscovery
        Returns:
        True, if the action is complete. False, if the action failed or is still running.