Class JDialogHoughHyperbola

  • All Implemented Interfaces:
    AlgorithmInterface, 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 JDialogHoughHyperbola
    extends JDialogBase
    implements AlgorithmInterface, java.awt.event.ItemListener, java.awt.event.WindowListener
    Dialog to create Hough transform with p, q, r1, r2, and theta output for hyperbola detection in binary image, where p is the x coordinate of the hyperbola center, q is the y coordinate of the hyperbola center, r1 is the 1/2 the transverse axis, r2 is 1/2 the conjugate axis, and theta is the angle of the transverse axis with the x axis.
    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
    • 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.
      private void callAlgorithm()
      DOCUMENT ME!
      private void init()
      Initializes GUI components and displays dialog.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      itemStateChanged.
      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      void windowClosing​(java.awt.event.WindowEvent event)
      Disposes of error dialog, then frame.
      • 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.WindowListener

        windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowIconified, windowOpened
    • Field Detail

      • serialVersionUID

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

        private ModelImage resultImage
        DOCUMENT ME!
      • minPixels

        private int minPixels
        Minimum number of points found on a hyperbola for it to be valid.
      • minPixelsText

        private javax.swing.JTextField minPixelsText
        DOCUMENT ME!
      • sidePointsForTangent

        private int sidePointsForTangent
        Maximum number of points to take from each side of a point on a curve in determining a tangent
      • sideText

        private javax.swing.JTextField sideText
      • pixelWidthText

        private javax.swing.JTextField pixelWidthText
      • maxPixelBinWidth

        private double maxPixelBinWidth
        For xCenter, yCenter, r1, and r2 must bin width <= maxPixelBinWidth
      • degreesWidthText

        private javax.swing.JTextField degreesWidthText
      • maxDegreesBinWidth

        private double maxDegreesBinWidth
        For theta must have bin width <= maxDegreesBinWidth
      • numHyperbolas

        private int numHyperbolas
        number of hyperbolas to be found
      • numHyperbolasText

        private javax.swing.JTextField numHyperbolasText
      • minPointDistance

        private double minPointDistance
        Smallest allowable distance between 2 of 3 picked points
      • minPointText

        private javax.swing.JTextField minPointText
      • maxPointDistance

        private double maxPointDistance
        Largest allowable distance between 2 of 3 picked points
      • maxPointText

        private javax.swing.JTextField maxPointText
      • pointSetsRequired

        private int pointSetsRequired
        Number of point triplets required before each hyperbola find is performed
      • pointSetsText

        private javax.swing.JTextField pointSetsText
      • countThreshold

        private int countThreshold
        Number of counts required to find a hyperbola
      • countText

        private javax.swing.JTextField countText
      • hyperbolaRangeTolerance

        private double hyperbolaRangeTolerance
        Maximum percent by which perimiter pixels can deviate from the hyperbola equation
      • toleranceText

        private javax.swing.JTextField toleranceText
      • maxCyclesText

        private javax.swing.JTextField maxCyclesText
      • maxHyperbolaFindCycles

        private int maxHyperbolaFindCycles
        Maximum number of pointSetsRequired triplet point acquisitions that is allowed to occur
      • maxBufferText

        private javax.swing.JTextField maxBufferText
      • maxBufferSize

        private int maxBufferSize
        The maximum Hough transform size in megabytes - default is currently 256
    • Constructor Detail

      • JDialogHoughHyperbola

        public JDialogHoughHyperbola​(ModelImage image)
        Creates a new JDialogHoughHyperbola object.
        Parameters:
        image - DOCUMENT ME!
      • JDialogHoughHyperbola

        public JDialogHoughHyperbola​(java.awt.Frame theParentFrame,
                                     ModelImage im)
        Creates new dialog.
        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 algorithm 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.
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        itemStateChanged.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        Parameters:
        event - DOCUMENT ME!
      • windowClosing

        public void windowClosing​(java.awt.event.WindowEvent event)
        Disposes of error dialog, then frame. Sets cancelled to true.
        Specified by:
        windowClosing in interface java.awt.event.WindowListener
        Overrides:
        windowClosing in class JDialogBase
        Parameters:
        event - DOCUMENT ME!
      • callAlgorithm

        private void callAlgorithm()
        DOCUMENT ME!
      • init

        private void init()
        Initializes GUI components and displays dialog.
      • 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.