Package gov.nih.mipav.view
Class ViewJComponentHistoLUT
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- gov.nih.mipav.view.ViewJComponentHLUTBase
-
- gov.nih.mipav.view.ViewJComponentHistoLUT
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable
public class ViewJComponentHistoLUT extends ViewJComponentHLUTBase
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. Note y inversion in transfer segment because graphical origin is in upper left corner.255 ^ __________ | / | / | / <------- Transfer function | / L | / U | / T | / | / | / |______/ 0 |________________________________> min max Image intensityThe transfer function ( member of the LUT class) dictates how the image intensity values are converted into the LUT.
- Version:
- 0.1 Aug 1, 1997
- Author:
- Matthew J. McAuliffe, Ph.D.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ModelLUTlutDOCUMENT 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 ViewJComponentHistoLUT(HistoLUTParent _histoFrame, ModelHistogram _histo, ModelLUT _lut, ModelImage _image)Creates new component histogram LUT.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFunctionPoint(float x, float y)Add a new function point to the current LUT transfer function.voidcheckProximityToTransferFunction(float px, float py, boolean remove)Check to see if the position of the mouse is close to one of the points in the LUT transfer function or the line drawn in between the points.voidctMode(int preset1, int preset2)Sets mode to CT and sets range to CT presets.voiddispose()Sets variables to null and gets rid of frame.voiddragPoint(java.awt.event.MouseEvent mouseEvent)Drag a point on the Histo LUT to another value.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!ModelLUTgetLUT()Get the lookup table associated with the image and histogram.floatgetThresholdFill()DOCUMENT ME!TransferFunctiongetTransferFunction()Get the current transfer function we are working with.voidlinearMode()Sets mode to linear and shows component.voidpaintComponent(java.awt.Graphics g)Paints the component.voidremoveClickedFunctionPoint()Remove the point of the LUT transfer function which the mouse is hovering over (determined bymouseMotion).private floatsetLinearIndex(float mx, float my)Checks boundaries for new dragged point in LUT.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.voidupdateCursor(float _mx, float _my, int _index)Update the cursor position when mouse slider is moved.voidupdateCursorXPos(float _mx, float _my, int _index)Update the cursor position when mouse slider is moved.-
Methods inherited from class gov.nih.mipav.view.ViewJComponentHLUTBase
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
-
lut
ModelLUT lut
DOCUMENT ME!
-
-
Constructor Detail
-
ViewJComponentHistoLUT
public ViewJComponentHistoLUT(HistoLUTParent _histoFrame, ModelHistogram _histo, ModelLUT _lut, ModelImage _image)
Creates new component histogram LUT.- Parameters:
_histoFrame- Frame where histogram is to be displayed_histo- histogram model_lut- lut used to display histogram_image- image of the displayed histogram and associated LUT
-
-
Method Detail
-
addFunctionPoint
public void addFunctionPoint(float x, float y)Add a new function point to the current LUT transfer function.- Specified by:
addFunctionPointin classViewJComponentHLUTBase- Parameters:
x- the x position within the component to add the new pointy- the y position within the component to add the new point
-
checkProximityToTransferFunction
public void checkProximityToTransferFunction(float px, float py, boolean remove)Check to see if the position of the mouse is close to one of the points in the LUT transfer function or the line drawn in between the points.- Specified by:
checkProximityToTransferFunctionin classViewJComponentHLUTBase- Parameters:
px- the x position within the componentpy- the y position within the componentremove- whether we want to remove a point (assuming that we are near one)
-
ctMode
public void ctMode(int preset1, int preset2)Sets mode to CT and sets range to CT presets.- Parameters:
preset1- first CT presetpreset2- second CT preset
-
dispose
public void dispose()
Sets variables to null and gets rid of frame.- Overrides:
disposein classViewJComponentHLUTBase
-
dragPoint
public void dragPoint(java.awt.event.MouseEvent mouseEvent)
Drag a point on the Histo LUT to another value.- Parameters:
mouseEvent- the mouse dragged event (passed on from the containing panel)
-
setLinearIndex
private float setLinearIndex(float mx, float my)Checks boundaries for new dragged point in LUT.- Parameters:
mx- new x value for point based on mouse movementmy- new y value for point based on mouse movement- Returns:
- the resulting x[index] based on boundary checks
-
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
-
getLUT
public ModelLUT getLUT()
Get the lookup table associated with the image and histogram.- Returns:
- returns the LUT used to display the image
-
getThresholdFill
public float getThresholdFill()
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
-
linearMode
public void linearMode()
Sets mode to linear and shows component.- Specified by:
linearModein classViewJComponentHLUTBase
-
paintComponent
public void paintComponent(java.awt.Graphics g)
Paints the component.- Overrides:
paintComponentin classViewJComponentHLUTBase- Parameters:
g- graphics to paint in
-
removeClickedFunctionPoint
public void removeClickedFunctionPoint()
Remove the point of the LUT transfer function which the mouse is hovering over (determined bymouseMotion).- 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
-
updateCursor
public void updateCursor(float _mx, float _my, int _index)Update the cursor position when mouse slider is moved.- Parameters:
_mx- cursor x postion._my- cursor y position._index- cursor index
-
updateCursorXPos
public void updateCursorXPos(float _mx, float _my, int _index)Update the cursor position when mouse slider is moved.- Parameters:
_mx- cursor x postion._my- cursor y position._index- cursor index
-
finalize
protected void finalize() throws java.lang.ThrowableClean up some resources!- Overrides:
finalizein classViewJComponentHLUTBase- Throws:
java.lang.Throwable- DOCUMENT ME!
-
-