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.
  • Constructor Details

  • Method Details

    • addProfileDataListener

      public void addProfileDataListener​(IntensityGraphFigure.IProfileDataChangeLisenter listener)
    • addPixelInfoProvider

      public void addPixelInfoProvider​(IntensityGraphFigure.IPixelInfoProvider pixelInfoProvider)
    • addCroppedDataSizeListener

      public void addCroppedDataSizeListener​(IntensityGraphFigure.ICroppedDataSizeListener listener)
    • 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

      protected int calcRGBPixel​(IPrimaryArrayWrapper dataArray, double max, double min, int index)
      Parameters:
      dataArray -
      max -
      min -
      index -
      Returns:
    • getColorMap

      public ColorMap 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

      public IntensityGraphFigure.GraphArea 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

      public final Axis getXAxis()
      Returns:
      the xAxis
    • getYAxis

      public final Axis 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:
      layout in class org.eclipse.draw2d.Figure
    • setColorMap

      public final void setColorMap​(ColorMap colorMap)
      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

      public final void setDataArray​(IPrimaryArrayWrapper dataWrapper)
      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:
      setFont in interface org.eclipse.draw2d.IFigure
      Overrides:
      setFont in class org.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

      public ROIFigure getROI​(java.lang.String name)
    • 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:
      getBeanInfo in interface Introspectable
      Throws:
      java.beans.IntrospectionException
    • getColorDepth

      public IntensityGraphFigure.ColorDepth getColorDepth()
      Returns:
      the colorDepth
    • setColorDepth

      public void setColorDepth​(IntensityGraphFigure.ColorDepth colorDepth)
      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()