Class JDialogRegistrationSIFT3D

  • 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 JDialogRegistrationSIFT3D
    extends JDialogScriptableBase
    implements AlgorithmInterface
    Dialog to get user input, then call algorithmRegLeastSquares. Selects image is match image, the image that gets transformed until it is registered to the base image. Algorithms are executed in their own thread.
    Version:
    0.1 Augusut 15, 2020
    Author:
    William Gandler
    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, set variables, and calls the algorithm.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      private javax.swing.JComboBox buildImgComboBox​(ModelImage image)
      Builds a list of images.
      protected void callAlgorithm()
      Sets arrays appropriately and calls registration algorithm, running it in it's own thread.
      private void init()
      Initializes the GUI components and displays the dialog.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      private boolean setVariables()  
      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

      • baseImage

        protected ModelImage baseImage
        Base image - register match image to base image.
      • comboBoxImage

        private javax.swing.JComboBox comboBoxImage
        Combo box with image names for choosing base image.
      • reg3D

        private SIFT3D reg3D
        Algorithm to run from this dialog.
      • matchImage

        protected ModelImage matchImage
        Match image - register match image to base image.
      • resultImage

        protected ModelImage resultImage
        Result image - image returned from registration algorithm.
      • SIFT3D_nn_thresh_default

        private double SIFT3D_nn_thresh_default
      • SIFT3D_err_thresh_default

        private double SIFT3D_err_thresh_default
      • SIFT3D_num_iter_default

        private int SIFT3D_num_iter_default
      • useOCL

        private boolean useOCL
      • SIFT3D_GAUSS_WIDTH_FCTR

        private double SIFT3D_GAUSS_WIDTH_FCTR
      • SIFT3D_MATCH_MAX_DIST

        private double SIFT3D_MATCH_MAX_DIST
      • ICOS_HIST

        private boolean ICOS_HIST
      • SIFT3D_RANSAC_REFINE

        private boolean SIFT3D_RANSAC_REFINE
      • CUBOID_EXTREMA

        private boolean CUBOID_EXTREMA
      • SIFT3D_ORI_SOLID_ANGLE_WEIGHT

        private boolean SIFT3D_ORI_SOLID_ANGLE_WEIGHT
      • labelMatchingThreshold

        private javax.swing.JLabel labelMatchingThreshold
      • textMatchingThreshold

        private javax.swing.JTextField textMatchingThreshold
      • labelErrorThreshold

        private javax.swing.JLabel labelErrorThreshold
      • textErrorThreshold

        private javax.swing.JTextField textErrorThreshold
      • labelNumberIterations

        private javax.swing.JLabel labelNumberIterations
      • textNumberIterations

        private javax.swing.JTextField textNumberIterations
      • labelGaussianWidth

        private javax.swing.JLabel labelGaussianWidth
      • textGaussianWidth

        private javax.swing.JTextField textGaussianWidth
      • matchCheckBox

        private javax.swing.JCheckBox matchCheckBox
      • labelMatch

        private javax.swing.JLabel labelMatch
      • textMatch

        private javax.swing.JTextField textMatch
      • icosahedralCheckBox

        private javax.swing.JCheckBox icosahedralCheckBox
      • refineCheckBox

        private javax.swing.JCheckBox refineCheckBox
      • cuboidCheckBox

        private javax.swing.JCheckBox cuboidCheckBox
      • solidCheckBox

        private javax.swing.JCheckBox solidCheckBox
    • Constructor Detail

      • JDialogRegistrationSIFT3D

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

        public JDialogRegistrationSIFT3D​(java.awt.Frame theParentFrame,
                                         ModelImage im)
        Creates new registration dialog to get base image name.
        Parameters:
        theParentFrame - Parent frame.
        im - Source image.
      • JDialogRegistrationSIFT3D

        public JDialogRegistrationSIFT3D​(java.awt.Frame theParentFrame,
                                         ModelImage _mi,
                                         ModelImage _ri)
        Creates a new JDialogRegistrationSIFT3D object.
        Parameters:
        theParentFrame - DOCUMENT ME!
        _mi - DOCUMENT ME!
        _ri - DOCUMENT ME!
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Closes dialog box when the OK button is pressed, set variables, 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 complete.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • callAlgorithm

        protected void callAlgorithm()
        Sets arrays appropriately and calls registration algorithm, running it in it's own thread.
        Specified by:
        callAlgorithm in class JDialogScriptableBase
      • init

        private void init()
        Initializes the GUI components and displays the dialog.
      • buildImgComboBox

        private javax.swing.JComboBox buildImgComboBox​(ModelImage image)
        Builds a list of images. Returns combobox.
        Parameters:
        image - DOCUMENT ME!
        Returns:
        Newly created combo box.
      • setVariables

        private boolean setVariables()