net.grelf.grip
Class Hist3D_Pane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by net.grelf.grip.ImPane
                  extended by net.grelf.grip.Hist3D_Pane
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.swing.Scrollable, AssociatedPane

public class Hist3D_Pane
extends ImPane
implements AssociatedPane

3-dimensional histogram, displayable in an ImFrame by means of the static display () method here. The histogram consists of a projection of 3 end-view graphs: red/green, green/blue, blue/red. The colour of each pixel in each of these graphs is looked up against the "spectrum" displayed as a key, from the frequency of occurence of the particular red/green (etc) combination that the pixel represents. The histogram is interactive in the sense that as the mouse is moved over the original image from which the histogram was plotted, the corresponding position on each of the 3 graphs is shown by a small white square.

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
 
Field Summary
 
Fields inherited from class net.grelf.grip.ImPane
zoomPercents
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
 
Constructor Summary
Hist3D_Pane(java.awt.image.BufferedImage sourceImage)
          Create the 3D histogram of the given sourceImage.
 
Method Summary
static void display(ImFrame source)
          Enabling any class to display a 3D histogram of the image from the given frame, in a new frame.
 void dragAction(int x, int y, int[] colour)
          Implementing AssociatedPane.
 int getNBands()
          Implementing AssociatedPane.
 int getNBits()
          Implementing AssociatedPane.
 void moveAction(int x, int y, int[] colour)
          Implementing AssociatedPane.
 void paintComponent(java.awt.Graphics g)
          Display this pane.
 void pressAction(int x, int y, int[] colour)
          Implementing AssociatedPane.
 void releaseAction(int x, int y, int[] colour)
          Implementing AssociatedPane.
 
Methods inherited from class net.grelf.grip.ImPane
clearAssociatedPane, dispose, getGlassPane, getIm, getImFrame, getIpHeight, getIpWidth, getOrigin, getPreferredScrollableViewportSize, getScale, getScaledIm, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, isPseudocolour, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, reScale, setAssociatedPane, setIm, setInitialScale, setIpHeight, setIpSize, setIpWidth, setPseudocolour, zoomDown, zoomUp
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Hist3D_Pane

public Hist3D_Pane(java.awt.image.BufferedImage sourceImage)
Create the 3D histogram of the given sourceImage.

Method Detail

display

public static void display(ImFrame source)
Enabling any class to display a 3D histogram of the image from the given frame, in a new frame.


paintComponent

public void paintComponent(java.awt.Graphics g)
Display this pane.

Overrides:
paintComponent in class ImPane

dragAction

public void dragAction(int x,
                       int y,
                       int[] colour)
Implementing AssociatedPane. Called when mouse is dragged.

Specified by:
dragAction in interface AssociatedPane
Parameters:
x - The x coordinate of the mouse in the original pane.
y - The y coordinate of the mouse in the original pane.
colour - The channel values to be sent to the associated pane.

moveAction

public void moveAction(int x,
                       int y,
                       int[] colour)
Implementing AssociatedPane. Called when mouse is moved.

Specified by:
moveAction in interface AssociatedPane
Parameters:
x - The x coordinate of the mouse in the original pane.
y - The y coordinate of the mouse in the original pane.
colour - The channel values to be sent to the associated pane.

pressAction

public void pressAction(int x,
                        int y,
                        int[] colour)
Implementing AssociatedPane. Called when mouse is pressed.

Specified by:
pressAction in interface AssociatedPane
Parameters:
x - The x coordinate of the mouse in the original pane.
y - The y coordinate of the mouse in the original pane.
colour - The channel values to be sent to the associated pane.

releaseAction

public void releaseAction(int x,
                          int y,
                          int[] colour)
Implementing AssociatedPane. Called when mouse is released.

Specified by:
releaseAction in interface AssociatedPane
Parameters:
x - The x coordinate of the mouse in the original pane.
y - The y coordinate of the mouse in the original pane.
colour - The channel values to be sent to the associated pane.

getNBands

public int getNBands()
Implementing AssociatedPane. Return the number of channels in the image displayed in the associated pane. May be used by the original pane to determine the dimensionality of the colour array to be sent to the action methods.

Specified by:
getNBands in interface AssociatedPane

getNBits

public int getNBits()
Implementing AssociatedPane. Return the number of bits per channel in the image displayed in the associated pane. May be used by the original pane to determine the range of values in the colour array to be sent to the action methods.

Specified by:
getNBits in interface AssociatedPane