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
        • degreesWidthText

          private javax.swing.JTextField degreesWidthText
        • maxDegreesBinWidth

          private double maxDegreesBinWidth
          For theta must have bin width
          • 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.