Class IntensityGraphFigure
java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.nebula.visualization.widgets.figures.IntensityGraphFigure
- All Implemented Interfaces:
org.eclipse.draw2d.IFigure,Introspectable
public class IntensityGraphFigure extends org.eclipse.draw2d.Figure implements Introspectable
An intensity graph figure.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIntensityGraphFigure.ColorDepthColor depth of the image data in RGB1 mode, since SWT only support 8 bit color depth, it has to convert all data to [0,255].classIntensityGraphFigure.GraphArea(package private) classIntensityGraphFigure.GraphAreaZoomerstatic interfaceIntensityGraphFigure.ICroppedDataSizeListenerstatic interfaceIntensityGraphFigure.IPixelInfoProviderstatic interfaceIntensityGraphFigure.IProfileDataChangeLisenterstatic interfaceIntensityGraphFigure.IROIInfoProviderProvides info to be displayed on ROI label.static interfaceIntensityGraphFigure.IROIListenerROI listener which will be notified whenever ROI moved.(package private) classIntensityGraphFigure.SinglePixelProfileCrossHairclassIntensityGraphFigure.UnsignedPrimitiveArrayWrapperWraps an array of raw signed data to emulate an unsigned datatype. -
Field Summary
-
Constructor Summary
Constructors Constructor Description IntensityGraphFigure()IntensityGraphFigure(boolean runMode) -
Method Summary
Modifier and Type Method Description voidaddCroppedDataSizeListener(IntensityGraphFigure.ICroppedDataSizeListener listener)voidaddPixelInfoProvider(IntensityGraphFigure.IPixelInfoProvider pixelInfoProvider)voidaddProfileDataListener(IntensityGraphFigure.IProfileDataChangeLisenter listener)voidaddROI(java.lang.String name, IntensityGraphFigure.IROIListener roiListener, IntensityGraphFigure.IROIInfoProvider roiInfoProvider)Add a new ROI to the graph.protected intcalcRGBPixel(IPrimaryArrayWrapper dataArray, double max, double min, int index)voiddispose()java.beans.BeanInfogetBeanInfo()IntensityGraphFigure.ColorDepthgetColorDepth()ColorMapgetColorMap()intgetCropBottom()intgetCropLeft()intgetCropRight()intgetCropTop()double[]getDataArray()intgetDataHeight()intgetDataWidth()IntensityGraphFigure.GraphAreagetGraphArea()org.eclipse.draw2d.geometry.DimensiongetGraphAreaInsets()doublegetMax()doublegetMin()java.lang.StringgetPixelInfo(int xIndex, int yIndex, double xCoordinate, double yCoordinate, double pixelValue)ROIFiguregetROI(java.lang.String name)org.eclipse.swt.graphics.ColorgetRoiColor()intgetUnsignedBits()AxisgetXAxis()AxisgetYAxis()booleanisInRGBMode()booleanisRunMode()booleanisShowRamp()booleanisSingleLineProfiling()If it is profiling on single pixel.protected voidlayout()voidremoveROI(java.lang.String name)voidsetColorDepth(IntensityGraphFigure.ColorDepth colorDepth)Set Color depth of the image.voidsetColorMap(ColorMap colorMap)voidsetCropBottom(int cropBottom)voidsetCropLeft(int cropLeft)voidsetCropRight(int cropRight)voidsetCropTop(int cropTop)voidsetDataArray(byte[] data)Set the byte[] data array for the intensity graph.voidsetDataArray(double[] data)Set the double[] data array for the intensity graph.voidsetDataArray(float[] data)Set the float[] data array for the intensity graph.voidsetDataArray(int[] data)Set the int[] data array for the intensity graph.voidsetDataArray(long[] data)Set the long[] data array for the intensity graph.voidsetDataArray(short[] data)Set the short[] data array for the intensity graph.voidsetDataArray(IPrimaryArrayWrapper dataWrapper)Set the data array wrapper for the intensity graph.voidsetDataHeight(int dataHeight)voidsetDataWidth(int dataWidth)voidsetFont(org.eclipse.swt.graphics.Font f)voidsetInRGBMode(boolean inRGBMode)Set if the input data is in RGB mode.voidsetMax(double max)voidsetMin(double min)voidsetROIColor(org.eclipse.swt.graphics.Color roiColor)Set color of ROI figures.voidsetROIDataBounds(java.lang.String name, int xIndex, int yIndex, int width, int height)voidsetROIVisible(java.lang.String name, boolean visible)voidsetRunMode(boolean runMode)voidsetShowRamp(boolean show)voidsetSingleLineProfiling(boolean isSingleLineProfiling)Profile on single pixel.voidsetUnsignedBits(int bits)Sets the unsigned bitsprotected voidupdateCroppedDataSize()Methods inherited from class org.eclipse.draw2d.Figure
add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireCoordinateSystemChanged, fireFigureMoved, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getBounds, getChildren, getClientArea, getClientArea, getClippingStrategy, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getLocalBackgroundColor, getLocalFont, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isMouseEventTarget, isOpaque, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, paint, paintBorder, paintChildren, paintClientArea, paintFigure, primTranslate, remove, removeAll, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, setClippingStrategy, setConstraint, setCursor, setEnabled, setFlag, setFocusTraversable, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setValid, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, useLocalCoordinates, validate
-
Constructor Details
-
IntensityGraphFigure
public IntensityGraphFigure() -
IntensityGraphFigure
public IntensityGraphFigure(boolean runMode)
-
-
Method Details
-
addProfileDataListener
-
addPixelInfoProvider
-
addCroppedDataSizeListener
-
addROI
public void addROI(java.lang.String name, IntensityGraphFigure.IROIListener roiListener, IntensityGraphFigure.IROIInfoProvider roiInfoProvider)Add a new ROI to the graph.- Parameters:
name- name of the ROI. It must be unique for this graph.color- color of the ROI.roiListener- listener on ROI updates. Can be null.roiInfoProvider- provides information for the ROI. Can be null.
-
removeROI
public void removeROI(java.lang.String name) -
setROIVisible
public void setROIVisible(java.lang.String name, boolean visible) -
dispose
public void dispose() -
calcRGBPixel
- Parameters:
dataArray-max-min-index-- Returns:
-
getColorMap
- Returns:
- the colorMap
-
getCropBottom
public int getCropBottom()- Returns:
- the cropBottom
-
getCropLeft
public int getCropLeft()- Returns:
- the cropLeft
-
getCropRight
public int getCropRight()- Returns:
- the cropRigth
-
getCropTop
public int getCropTop()- Returns:
- the cropTop
-
getDataArray
public double[] getDataArray() -
getDataHeight
public int getDataHeight()- Returns:
- the dataHeight
-
getDataWidth
public int getDataWidth()- Returns:
- the dataWidth
-
getUnsignedBits
public int getUnsignedBits()- Returns:
- the unsigned bits
-
getGraphArea
-
getGraphAreaInsets
public org.eclipse.draw2d.geometry.Dimension getGraphAreaInsets()- Returns:
- the two dimension insets (cropped_width, cropped_height) of graph area
-
getMax
public double getMax()- Returns:
- the max
-
getMin
public double getMin()- Returns:
- the min
-
getXAxis
- Returns:
- the xAxis
-
getYAxis
- Returns:
- the yAxis
-
isInRGBMode
public boolean isInRGBMode()- Returns:
- true if the input data is in RGB mode. For example, the input data is a 1D array of [RGBRGBRGBRGB...]
-
isRunMode
public boolean isRunMode()- Returns:
- the runMode
-
isShowRamp
public boolean isShowRamp() -
layout
protected void layout()- Overrides:
layoutin classorg.eclipse.draw2d.Figure
-
setColorMap
- Parameters:
colorMap- the colorMap to set
-
setCropBottom
public final void setCropBottom(int cropBottom)- Parameters:
cropBottom- the cropBottom to set
-
setCropLeft
public final void setCropLeft(int cropLeft)- Parameters:
cropLeft- the cropLeft to set
-
setCropRight
public final void setCropRight(int cropRight)- Parameters:
cropRight- the cropRigth to set
-
setCropTop
public final void setCropTop(int cropTop)- Parameters:
cropTop- the cropTop to set
-
setDataArray
public final void setDataArray(double[] data)Set the double[] data array for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataArray
public final void setDataArray(short[] data)Set the short[] data array for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataArray
public final void setDataArray(byte[] data)Set the byte[] data array for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataArray
public final void setDataArray(int[] data)Set the int[] data array for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataArray
public final void setDataArray(long[] data)Set the long[] data array for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataArray
public final void setDataArray(float[] data)Set the float[] data array for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataArray
Set the data array wrapper for the intensity graph. It must be called in UI thread. Warning: for big image for example 1024*768, it may takes several milliseconds (10-50ms) to paint the image. If this is called too fast that exceeds the painting capability, it may cause memory leaking.- Parameters:
data- the dataArray to set
-
setDataHeight
public final void setDataHeight(int dataHeight)- Parameters:
dataHeight- the dataHeight to set
-
setDataWidth
public final void setDataWidth(int dataWidth)- Parameters:
dataWidth- the dataWidth to set
-
setInRGBMode
public void setInRGBMode(boolean inRGBMode)Set if the input data is in RGB mode. For example, the input data is a 1D array of [RGBRGBRGBRGB...]. If it is true, the color of the pixel will come from the data directly and the color map will be ignored.- Parameters:
inRGBMode- true if the input data in RGB mode.
-
setMax
public final void setMax(double max)- Parameters:
max- the max to set
-
setFont
public void setFont(org.eclipse.swt.graphics.Font f)- Specified by:
setFontin interfaceorg.eclipse.draw2d.IFigure- Overrides:
setFontin classorg.eclipse.draw2d.Figure
-
setMin
public final void setMin(double min)- Parameters:
min- the min to set
-
setUnsignedBits
public final void setUnsignedBits(int bits)Sets the unsigned bits- Parameters:
bits- the number of bits in the unsigned data, or zero and has to be <= 1023 (limit for IEEE doubles). If bits <= 0, the data is treated as having signed values.
-
setROIColor
public void setROIColor(org.eclipse.swt.graphics.Color roiColor)Set color of ROI figures.- Parameters:
roiColor-
-
getRoiColor
public org.eclipse.swt.graphics.Color getRoiColor() -
setROIDataBounds
public void setROIDataBounds(java.lang.String name, int xIndex, int yIndex, int width, int height) -
getROI
-
setRunMode
public void setRunMode(boolean runMode)- Parameters:
runMode- the runMode to set
-
setShowRamp
public void setShowRamp(boolean show) -
getBeanInfo
public java.beans.BeanInfo getBeanInfo() throws java.beans.IntrospectionException- Specified by:
getBeanInfoin interfaceIntrospectable- Throws:
java.beans.IntrospectionException
-
getColorDepth
- Returns:
- the colorDepth
-
setColorDepth
Set Color depth of the image.- Parameters:
colorDepth- the colorDepth to set
-
isSingleLineProfiling
public boolean isSingleLineProfiling()If it is profiling on single pixel.- Returns:
- the isSinglePixelProfiling
-
setSingleLineProfiling
public void setSingleLineProfiling(boolean isSingleLineProfiling)Profile on single pixel.- Parameters:
isSingleLineProfiling- the isSinglePixelProfiling to set
-
getPixelInfo
public java.lang.String getPixelInfo(int xIndex, int yIndex, double xCoordinate, double yCoordinate, double pixelValue) -
updateCroppedDataSize
protected void updateCroppedDataSize()
-