Class ViewJComponentHistoRGB

  • All Implemented Interfaces:
    java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

    public class ViewJComponentHistoRGB
    extends ViewJComponentHLUTBase
    implements java.awt.event.MouseMotionListener, java.awt.event.MouseListener
    This class extends the ViewJComponentHLUTBase class and used to coordinate how a histogram and LUT for an image are to be displayed to the screen. For display purposes, this component has a LUT Model.
    Version:
    0.1 Aug 1, 1997
    Author:
    Matthew J. McAuliffe, Ph.D. (primary), Harman Singh
    See Also:
    Serialized Form
    • Nested Class Summary

      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addFunctionPoint​(float x, float y)
      /
      void checkProximityToTransferFunction​(float x, float y, boolean remove)
      DOCUMENT ME!
      void dragPoint​(java.awt.event.MouseEvent mouseEvent)
      DOCUMENT ME!
      void dualThresholdMode​(int newMode)
      Switch the histogram component to (inverse or regular) dual threshold mode.
      void evenDistribution()
      Evenly distributed the controls points of linear transfer function.
      protected void finalize()
      Clean up some resources!
      float getLowerThreshold()
      DOCUMENT ME!
      int getThresholdMode()
      DOCUMENT ME!
      TransferFunction getTransferFunction()
      Get the current transfer function we are working with.
      float getUpperThreshold()
      DOCUMENT ME!
      void linearMode()
      Resets mode to linear and shows component.
      void mouseClicked​(java.awt.event.MouseEvent mouseEvent)
      Unchanged.
      void mouseDragged​(java.awt.event.MouseEvent mouseEvent)
      Continually updates the image depending on where the mouse is.
      void mouseEntered​(java.awt.event.MouseEvent mouseEvent)
      Unchanged.
      void mouseExited​(java.awt.event.MouseEvent mouseEvent)
      Unchanged.
      void mouseMoved​(java.awt.event.MouseEvent mouseEvent)
      Changes the cursor so that function can add points depending on how near the line it is.
      void mousePressed​(java.awt.event.MouseEvent mouseEvent)
      Checks for making new points or not.
      void mouseReleased​(java.awt.event.MouseEvent mouseEvent)
      Updates image and shows it.
      void noThreshold()
      DOCUMENT ME!
      void paintComponent​(java.awt.Graphics g)
      Paints the component.
      void removeClickedFunctionPoint()
      DOCUMENT ME!
      void setLUT​(ModelStorageBase newLUT)
      Change the lookup table associated with the image and histogram.
      void showHistogram​(ModelLUT lut)
      Filters the histogram through the LUT and produces an int array (aRGB) that can be converted to a java image of the histogram for display purposes.
      private void showRGB​(int[] lutIndexBuffer, int mode)
      DOCUMENT ME!
      • 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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
      • 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, getAccessibleContext, 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, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

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

        private ModelRGB RGBT
        DOCUMENT ME!
    • Constructor Detail

      • ViewJComponentHistoRGB

        public ViewJComponentHistoRGB​(HistoLUTParent _histoFrame,
                                      ModelHistogram _histo,
                                      ModelRGB RGBTable,
                                      ModelImage _image)
        Creates a Histogram RGB component.
        Parameters:
        _histoFrame - Frame where histogram is to be displayed
        _histo - histogram model
        RGBTable - DOCUMENT ME!
        _image - image of the displayed histogram
    • Method Detail

      • checkProximityToTransferFunction

        public void checkProximityToTransferFunction​(float x,
                                                     float y,
                                                     boolean remove)
        DOCUMENT ME!
        Specified by:
        checkProximityToTransferFunction in class ViewJComponentHLUTBase
        Parameters:
        x - DOCUMENT ME!
        y - DOCUMENT ME!
        remove - DOCUMENT ME!
      • dragPoint

        public void dragPoint​(java.awt.event.MouseEvent mouseEvent)
        DOCUMENT ME!
        Parameters:
        mouseEvent - DOCUMENT ME!
      • dualThresholdMode

        public void dualThresholdMode​(int newMode)
        Switch the histogram component to (inverse or regular) dual threshold mode.
        Specified by:
        dualThresholdMode in class ViewJComponentHLUTBase
        Parameters:
        newMode - either DUAL_THRESHOLD, DUAL_THRESHOLD_INV, or NO_THRESHOLD
      • getLowerThreshold

        public float getLowerThreshold()
        DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • getThresholdMode

        public int getThresholdMode()
        DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • getUpperThreshold

        public float getUpperThreshold()
        DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent mouseEvent)
        Unchanged.
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
        Parameters:
        mouseEvent - DOCUMENT ME!
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent mouseEvent)
        Continually updates the image depending on where the mouse is.
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
        Parameters:
        mouseEvent - event that triggered this function
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent mouseEvent)
        Unchanged.
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
        Parameters:
        mouseEvent - DOCUMENT ME!
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent mouseEvent)
        Unchanged.
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
        Parameters:
        mouseEvent - DOCUMENT ME!
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent mouseEvent)
        Changes the cursor so that function can add points depending on how near the line it is.
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
        Parameters:
        mouseEvent - event that triggered this function
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent mouseEvent)
        Checks for making new points or not.
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
        Parameters:
        mouseEvent - event that triggered function
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent mouseEvent)
        Updates image and shows it.
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
        Parameters:
        mouseEvent - event that triggered this function
      • noThreshold

        public void noThreshold()
        DOCUMENT ME!
      • paintComponent

        public void paintComponent​(java.awt.Graphics g)
        Paints the component.
        Overrides:
        paintComponent in class ViewJComponentHLUTBase
        Parameters:
        g - graphics to paint in
      • showHistogram

        public void showHistogram​(ModelLUT lut)
        Filters the histogram through the LUT and produces an int array (aRGB) that can be converted to a java image of the histogram for display purposes.
        Specified by:
        showHistogram in class ViewJComponentHLUTBase
        Parameters:
        lut - LUT to filter with
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Clean up some resources!
        Overrides:
        finalize in class ViewJComponentHLUTBase
        Throws:
        java.lang.Throwable - DOCUMENT ME!
      • showRGB

        private void showRGB​(int[] lutIndexBuffer,
                             int mode)
        DOCUMENT ME!
        Parameters:
        lutIndexBuffer - LUT index buffer for desired mode (Red, Green, Blue or All)
        mode - Indicates the channel for which the histogram is displayed