Class ColorMap


  • public class ColorMap
    extends java.lang.Object
    Color Map data type.
    • Field Detail

      • colorMap

        private java.util.LinkedHashMap<java.lang.Double,​org.eclipse.swt.graphics.RGB> colorMap
      • autoScale

        private boolean autoScale
      • interpolate

        private boolean interpolate
      • colorsLookupTable

        private org.eclipse.swt.graphics.RGB[] colorsLookupTable
      • pixelLookupTable

        private int[] pixelLookupTable
      • palette

        private org.eclipse.swt.graphics.PaletteData palette
      • colorMapMin

        private double colorMapMin
      • colorMapMax

        private double colorMapMax
    • Constructor Detail

      • ColorMap

        public ColorMap()
    • Method Detail

      • getMap

        public java.util.LinkedHashMap<java.lang.Double,​org.eclipse.swt.graphics.RGB> getMap()
        Returns:
        the map which back up the ColorMap
      • setColorMap

        public void setColorMap​(java.util.LinkedHashMap<java.lang.Double,​org.eclipse.swt.graphics.RGB> colorMap)
        Set a new map.
        Parameters:
        colorMap - the new map.
      • setAutoScale

        public void setAutoScale​(boolean autoScale)
        Parameters:
        autoScale - the autoScale to set
      • isAutoScale

        public boolean isAutoScale()
        Returns:
        the autoScale
      • setInterpolate

        public void setInterpolate​(boolean interpolate)
        Parameters:
        interpolate - the interpolate to set
      • isInterpolate

        public boolean isInterpolate()
        Returns:
        the interpolate
      • setPredefinedColorMap

        public void setPredefinedColorMap​(ColorMap.PredefinedColorMap predefinedColorMap)
        Parameters:
        predefinedColorMap - the predefinedColorMap to set
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • drawImage

        public org.eclipse.swt.graphics.ImageData drawImage​(IPrimaryArrayWrapper dataArray,
                                                            int dataWidth,
                                                            int dataHeight,
                                                            double max,
                                                            double min,
                                                            org.eclipse.swt.graphics.ImageData imageData,
                                                            boolean shrink)
        Calculate the image data from source data based on the color map.
        Parameters:
        dataArray - the source data
        dataWidth - number of columns of dataArray; This will be the width of image data.
        dataHeight - number of rows of dataArray; This will be the height of image data.
        max - the upper limit of the data in dataArray
        min - the lower limit of the data in dataArray
        imageData - the imageData to be filled. null if a new instance should be created.
        shrink - true if area size of image data is smaller than dataWidth*dataHeight. If this is true, it will use the nearest neighbor iamge scaling algorithm as described at http://tech-algorithm.com/articles/nearest-neighbor-image-scaling/.
        Returns:
        the image data. null if dataWidth or dataHeight is less than 1.
      • drawImage

        public org.eclipse.swt.graphics.ImageData drawImage​(double[] dataArray,
                                                            int dataWidth,
                                                            int dataHeight,
                                                            double max,
                                                            double min)
        Calculate the image data from source data based on the color map.
        Parameters:
        dataArray - the source data
        dataWidth - number of columns of dataArray; This will be the width of image data.
        dataHeight - number of rows of dataArray; This will be the height of image data.
        max - the upper limit of the data in dataArray
        min - the lower limit of the data in dataArray
        imageData - the imageData to be filled. null if a new instance should be created.
        Returns:
        the image data. null if dataWidth or dataHeight is less than 1.
      • getValueRGB

        public org.eclipse.swt.graphics.RGB getValueRGB​(ColorTuple[] colorTupleArray,
                                                        double[] keyArray,
                                                        double value)
        Parameters:
        colorTupleArray -
        keyArray -
        value - the value which has been scaled or not based on the autoScale flag.
        min -
        max -
        Returns:
      • getInterpolateRGB

        private org.eclipse.swt.graphics.RGB getInterpolateRGB​(ColorTuple start,
                                                               ColorTuple end,
                                                               double value)
      • getColorsLookupTable

        public org.eclipse.swt.graphics.RGB[] getColorsLookupTable()
        Get a colors lookup table from 0 to 255. This only works for autoScale is true;
        Returns:
        the colorsLookupTable a array of 256 colors corresponding to the value from min to max
      • getPalette

        public org.eclipse.swt.graphics.PaletteData getPalette()