Package boofcv.gui

Class SelectAlgorithmAndInputPanel

  • All Implemented Interfaces:
    VisualizeApp, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    Direct Known Subclasses:
    SelectInputPanel

    public abstract class SelectAlgorithmAndInputPanel
    extends javax.swing.JPanel
    implements java.awt.event.ActionListener, VisualizeApp
    Provides pull a menubar for selecting the input source and which algorithm to use
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String baseDirectory  
      protected java.awt.image.BufferedImage inputImage  
      protected java.util.List<boofcv.io.PathLabel> inputRefs  
      protected boofcv.io.MediaManager media  
      protected javax.swing.JCheckBox originalCheck  
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)  
      void addAlgorithm​(int indexFamily, java.lang.String name, java.lang.Object cookie)  
      void addToToolbar​(javax.swing.JComponent comp)
      Adds a new component into the toolbar.
      abstract void changeInput​(java.lang.String name, int index)
      A request to change the input image has been made.
      void doRefreshAll()
      Grabs the currently selected algorithm, passes information to GUI for updating, toggles GUI being active/not.
      protected <T> T getAlgorithmCookie​(int indexFamily)
      Returns the cookie associated with the specified algorithm family.
      void loadInputData​(java.lang.String fileName)
      Loads a standardized file for input references
      abstract void refreshAll​(java.lang.Object[] cookies)
      Provides the current state of all selected algorithms.
      void removeFromToolbar​(javax.swing.JComponent comp)  
      abstract void setActiveAlgorithm​(int indexFamily, java.lang.String name, java.lang.Object cookie)
      A request has been made to change the processing algorithm.
      void setBaseDirectory​(java.lang.String baseDirectory)
      Sets the directory that relative references are relative too
      void setInputImage​(java.awt.image.BufferedImage image)
      Specifies an image which contains the original input image.
      void setInputList​(java.util.List<boofcv.io.PathLabel> inputRefs)
      Specifies a list of images to use as input and loads them
      void setMainGUI​(java.awt.Component gui)
      Used to add the main GUI to this panel.
      void setMediaManager​(boofcv.io.MediaManager manager)  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, 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

      • originalCheck

        protected javax.swing.JCheckBox originalCheck
      • inputRefs

        protected java.util.List<boofcv.io.PathLabel> inputRefs
      • baseDirectory

        protected java.lang.String baseDirectory
      • inputImage

        protected java.awt.image.BufferedImage inputImage
      • media

        protected boofcv.io.MediaManager media
    • Constructor Detail

      • SelectAlgorithmAndInputPanel

        public SelectAlgorithmAndInputPanel​(int numAlgFamilies)
    • Method Detail

      • loadInputData

        public void loadInputData​(java.lang.String fileName)
        Loads a standardized file for input references
        Specified by:
        loadInputData in interface VisualizeApp
        Parameters:
        fileName - path to config file
      • setBaseDirectory

        public void setBaseDirectory​(java.lang.String baseDirectory)
        Sets the directory that relative references are relative too
      • addToToolbar

        public void addToToolbar​(javax.swing.JComponent comp)
        Adds a new component into the toolbar.
        Parameters:
        comp - The component being added
      • removeFromToolbar

        public void removeFromToolbar​(javax.swing.JComponent comp)
      • setMainGUI

        public void setMainGUI​(java.awt.Component gui)
        Used to add the main GUI to this panel. Must use this function. Algorithm change events will not be posted until this function has been set.
        Parameters:
        gui - The main GUI being displayed.
      • setInputImage

        public void setInputImage​(java.awt.image.BufferedImage image)
        Specifies an image which contains the original input image. After this has been called the view input image widget is activated and when selected this image will be displayed instead of the main GUI. This functionality is optional.
        Parameters:
        image - Original input image.
      • setInputList

        public void setInputList​(java.util.List<boofcv.io.PathLabel> inputRefs)
        Specifies a list of images to use as input and loads them
        Parameters:
        inputRefs - Name of input and where to get it
      • addAlgorithm

        public void addAlgorithm​(int indexFamily,
                                 java.lang.String name,
                                 java.lang.Object cookie)
      • doRefreshAll

        public void doRefreshAll()
        Grabs the currently selected algorithm, passes information to GUI for updating, toggles GUI being active/not. refreshAll() is called in a new thread.
      • getAlgorithmCookie

        protected <T> T getAlgorithmCookie​(int indexFamily)
        Returns the cookie associated with the specified algorithm family.
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
      • setMediaManager

        public void setMediaManager​(boofcv.io.MediaManager manager)
        Specified by:
        setMediaManager in interface VisualizeApp
      • refreshAll

        public abstract void refreshAll​(java.lang.Object[] cookies)
        Provides the current state of all selected algorithms.
        Parameters:
        cookies - state of each selected algorithm.
      • setActiveAlgorithm

        public abstract void setActiveAlgorithm​(int indexFamily,
                                                java.lang.String name,
                                                java.lang.Object cookie)
        A request has been made to change the processing algorithm. NOT called from a GUI thread.
        Parameters:
        indexFamily -
        name - Display name of the algorithm.
        cookie - Reference to user defined data.
      • changeInput

        public abstract void changeInput​(java.lang.String name,
                                         int index)
        A request to change the input image has been made. The input image's label and its index in the manager are returned.
        Parameters:
        name - Display name of the image.
        index - Which image in the list.