Package gov.nih.mipav.view
Class ViewJComponentHistoRGB
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- gov.nih.mipav.view.ViewJComponentHLUTBase
-
- gov.nih.mipav.view.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
-
-
Field Summary
Fields Modifier and Type Field Description private ModelRGB
RGBT
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.-
Fields inherited from class gov.nih.mipav.view.ViewJComponentHLUTBase
addPointFlag, ALL, ALPHA, backgroundColor, BLUE, componentDim, crosshairCursor, CT, dim, DUAL_THRESHOLD, DUAL_THRESHOLD_INV, GREEN, handCursor, histogram, histogramBuffer, histogramMax, histogramMaxLog, histogramParent, image, img, INACTIVE, index, LINEAR, logFlag, lutIndexBuffer, mode, moveCursor, NO_THRESHOLD, offsetX, offsetY, pixBuffer, range, RED, resizeCursor, STAIRCASE, stRange, THRESHOLD, thresholdMode, x, xN, y, yN, z, zN
-
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
-
-
Constructor Summary
Constructors Constructor Description ViewJComponentHistoRGB(HistoLUTParent _histoFrame, ModelHistogram _histo, ModelRGB RGBTable, ModelImage _image)
Creates a Histogram RGB component.
-
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 gov.nih.mipav.view.ViewJComponentHLUTBase
dispose, getImage, getMinimumSize, getMode, getPreferredSize, importImage, isVolOpacityChanged, setHistogramInfo, setLogFlag, setMode, showHistogram, updateDualThreshold, updateTransFunc
-
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
-
-
-
-
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 modelRGBTable
- DOCUMENT ME!_image
- image of the displayed histogram
-
-
Method Detail
-
addFunctionPoint
public void addFunctionPoint(float x, float y)
/- Specified by:
addFunctionPoint
in classViewJComponentHLUTBase
- Parameters:
x
- DOCUMENT ME!y
- DOCUMENT ME!
-
checkProximityToTransferFunction
public void checkProximityToTransferFunction(float x, float y, boolean remove)
DOCUMENT ME!- Specified by:
checkProximityToTransferFunction
in classViewJComponentHLUTBase
- 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 classViewJComponentHLUTBase
- Parameters:
newMode
- either DUAL_THRESHOLD, DUAL_THRESHOLD_INV, or NO_THRESHOLD
-
evenDistribution
public void evenDistribution()
Evenly distributed the controls points of linear transfer function.- Specified by:
evenDistribution
in classViewJComponentHLUTBase
-
getLowerThreshold
public float getLowerThreshold()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getThresholdMode
public int getThresholdMode()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getTransferFunction
public TransferFunction getTransferFunction()
Get the current transfer function we are working with.- Overrides:
getTransferFunction
in classViewJComponentHLUTBase
- Returns:
- the LUT tranfer function
-
getUpperThreshold
public float getUpperThreshold()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
linearMode
public void linearMode()
Resets mode to linear and shows component.- Specified by:
linearMode
in classViewJComponentHLUTBase
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent mouseEvent)
Unchanged.- Specified by:
mouseClicked
in interfacejava.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 interfacejava.awt.event.MouseMotionListener
- Parameters:
mouseEvent
- event that triggered this function
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent mouseEvent)
Unchanged.- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
- Parameters:
mouseEvent
- DOCUMENT ME!
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent mouseEvent)
Unchanged.- Specified by:
mouseExited
in interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 classViewJComponentHLUTBase
- Parameters:
g
- graphics to paint in
-
removeClickedFunctionPoint
public void removeClickedFunctionPoint()
DOCUMENT ME!- Specified by:
removeClickedFunctionPoint
in classViewJComponentHLUTBase
-
setLUT
public void setLUT(ModelStorageBase newLUT)
Change the lookup table associated with the image and histogram.- Specified by:
setLUT
in classViewJComponentHLUTBase
- Parameters:
newLUT
- the new lut
-
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 classViewJComponentHLUTBase
- Parameters:
lut
- LUT to filter with
-
finalize
protected void finalize() throws java.lang.Throwable
Clean up some resources!- Overrides:
finalize
in classViewJComponentHLUTBase
- 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
-
-