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 ModelRGBRGBTDOCUMENT ME!private static longserialVersionUIDUse 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 voidaddFunctionPoint(float x, float y)/voidcheckProximityToTransferFunction(float x, float y, boolean remove)DOCUMENT ME!voiddragPoint(java.awt.event.MouseEvent mouseEvent)DOCUMENT ME!voiddualThresholdMode(int newMode)Switch the histogram component to (inverse or regular) dual threshold mode.voidevenDistribution()Evenly distributed the controls points of linear transfer function.protected voidfinalize()Clean up some resources!floatgetLowerThreshold()DOCUMENT ME!intgetThresholdMode()DOCUMENT ME!TransferFunctiongetTransferFunction()Get the current transfer function we are working with.floatgetUpperThreshold()DOCUMENT ME!voidlinearMode()Resets mode to linear and shows component.voidmouseClicked(java.awt.event.MouseEvent mouseEvent)Unchanged.voidmouseDragged(java.awt.event.MouseEvent mouseEvent)Continually updates the image depending on where the mouse is.voidmouseEntered(java.awt.event.MouseEvent mouseEvent)Unchanged.voidmouseExited(java.awt.event.MouseEvent mouseEvent)Unchanged.voidmouseMoved(java.awt.event.MouseEvent mouseEvent)Changes the cursor so that function can add points depending on how near the line it is.voidmousePressed(java.awt.event.MouseEvent mouseEvent)Checks for making new points or not.voidmouseReleased(java.awt.event.MouseEvent mouseEvent)Updates image and shows it.voidnoThreshold()DOCUMENT ME!voidpaintComponent(java.awt.Graphics g)Paints the component.voidremoveClickedFunctionPoint()DOCUMENT ME!voidsetLUT(ModelStorageBase newLUT)Change the lookup table associated with the image and histogram.voidshowHistogram(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 voidshowRGB(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:
addFunctionPointin classViewJComponentHLUTBase- Parameters:
x- DOCUMENT ME!y- DOCUMENT ME!
-
checkProximityToTransferFunction
public void checkProximityToTransferFunction(float x, float y, boolean remove)DOCUMENT ME!- Specified by:
checkProximityToTransferFunctionin 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:
dualThresholdModein 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:
evenDistributionin 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:
getTransferFunctionin 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:
linearModein classViewJComponentHLUTBase
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent mouseEvent)
Unchanged.- Specified by:
mouseClickedin 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:
mouseDraggedin interfacejava.awt.event.MouseMotionListener- Parameters:
mouseEvent- event that triggered this function
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent mouseEvent)
Unchanged.- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener- Parameters:
mouseEvent- DOCUMENT ME!
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent mouseEvent)
Unchanged.- Specified by:
mouseExitedin 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:
mouseMovedin 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:
mousePressedin 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:
mouseReleasedin 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:
paintComponentin classViewJComponentHLUTBase- Parameters:
g- graphics to paint in
-
removeClickedFunctionPoint
public void removeClickedFunctionPoint()
DOCUMENT ME!- Specified by:
removeClickedFunctionPointin classViewJComponentHLUTBase
-
setLUT
public void setLUT(ModelStorageBase newLUT)
Change the lookup table associated with the image and histogram.- Specified by:
setLUTin 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:
showHistogramin classViewJComponentHLUTBase- Parameters:
lut- LUT to filter with
-
finalize
protected void finalize() throws java.lang.ThrowableClean up some resources!- Overrides:
finalizein 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
-
-