Class SingleBandedSampleModel


  • public class SingleBandedSampleModel
    extends org.eclipse.imagen.ComponentSampleModelJAI
    This class represents image data which is composed of a single band so that (a pixel comprises a single sample and occupies one data element of the DataBuffer). It subclasses ComponentSampleModelJAI but provides a more efficent implementation for accessing pixel interleaved image data than is provided by ComponentSampleModelJAI. This class stores sample data in a single bank of the DataBuffer. Accessor methods are provided so that image data can be manipulated directly. This class supports TYPE_BYTE, TYPE_USHORT, TYPE_SHORT, TYPE_INT, TYPE_FLOAT and TYPE_DOUBLE datatypes.
    • Field Summary

      • Fields inherited from class java.awt.image.ComponentSampleModel

        bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride
      • Fields inherited from class java.awt.image.SampleModel

        dataType, height, width
    • Constructor Summary

      Constructors 
      Constructor Description
      SingleBandedSampleModel​(int dataType, int w, int h)
      Constructs a SingleBandSampleModel with the specified parameters.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.image.SampleModel createCompatibleSampleModel​(int w, int h)
      Creates a new SingleBandSampleModel with the specified width and height.
      java.awt.image.SampleModel createSubsetSampleModel​(int[] bands)
      java.lang.Object getDataElements​(int x, int y, int w, int h, java.lang.Object obj, java.awt.image.DataBuffer data)
      int getOffset​(int x, int y)
      int getOffset​(int x, int y, int b)
      double[] getPixel​(int x, int y, double[] array, java.awt.image.DataBuffer data)
      float[] getPixel​(int x, int y, float[] array, java.awt.image.DataBuffer data)
      int[] getPixel​(int x, int y, int[] array, java.awt.image.DataBuffer data)
      double[] getPixels​(int x, int y, int w, int h, double[] array, java.awt.image.DataBuffer data)
      float[] getPixels​(int x, int y, int w, int h, float[] array, java.awt.image.DataBuffer data)
      int[] getPixels​(int x, int y, int w, int h, int[] array, java.awt.image.DataBuffer data)
      int getSample​(int x, int y, int b, java.awt.image.DataBuffer data)
      double getSampleDouble​(int x, int y, int b, java.awt.image.DataBuffer data)
      float getSampleFloat​(int x, int y, int b, java.awt.image.DataBuffer data)
      double[] getSamples​(int x, int y, int w, int h, int b, double[] array, java.awt.image.DataBuffer data)
      float[] getSamples​(int x, int y, int w, int h, int b, float[] array, java.awt.image.DataBuffer data)
      int[] getSamples​(int x, int y, int w, int h, int b, int[] array, java.awt.image.DataBuffer data)
      void setDataElements​(int x, int y, int w, int h, java.lang.Object obj, java.awt.image.DataBuffer data)
      void setPixel​(int x, int y, double[] array, java.awt.image.DataBuffer data)
      void setPixel​(int x, int y, float[] array, java.awt.image.DataBuffer data)
      void setPixel​(int x, int y, int[] array, java.awt.image.DataBuffer data)
      void setPixels​(int x, int y, int w, int h, double[] array, java.awt.image.DataBuffer data)
      void setPixels​(int x, int y, int w, int h, float[] array, java.awt.image.DataBuffer data)
      void setPixels​(int x, int y, int w, int h, int[] array, java.awt.image.DataBuffer data)
      void setSample​(int x, int y, int b, double s, java.awt.image.DataBuffer data)
      void setSample​(int x, int y, int b, float s, java.awt.image.DataBuffer data)
      void setSample​(int x, int y, int b, int s, java.awt.image.DataBuffer data)
      void setSamples​(int x, int y, int w, int h, int b, double[] array, java.awt.image.DataBuffer data)
      void setSamples​(int x, int y, int w, int h, int b, float[] array, java.awt.image.DataBuffer data)
      void setSamples​(int x, int y, int w, int h, int b, int[] array, java.awt.image.DataBuffer data)
      • Methods inherited from class org.eclipse.imagen.ComponentSampleModelJAI

        createDataBuffer, getDataElements, setDataElements, toString
      • Methods inherited from class java.awt.image.ComponentSampleModel

        equals, getBandOffsets, getBankIndices, getNumDataElements, getPixelStride, getSampleSize, getSampleSize, getScanlineStride, hashCode
      • Methods inherited from class java.awt.image.SampleModel

        getDataType, getHeight, getNumBands, getTransferType, getWidth
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SingleBandedSampleModel

        public SingleBandedSampleModel​(int dataType,
                                       int w,
                                       int h)
        Constructs a SingleBandSampleModel with the specified parameters. The number of bands will be given by the length of the bandOffsets array.
        Parameters:
        dataType - The data type for storing samples.
        w - The width (in pixels) of the region of image data described.
        h - The height (in pixels) of the region of image data described.
        Throws:
        java.lang.IllegalArgumentException - if w or h is not greater than 0 or if dataType is not one of the supported data types
    • Method Detail

      • createCompatibleSampleModel

        public java.awt.image.SampleModel createCompatibleSampleModel​(int w,
                                                                      int h)
        Creates a new SingleBandSampleModel with the specified width and height. The new SingleBandSampleModel will have the same storage data type as this SingleBandSampleModel.
        Overrides:
        createCompatibleSampleModel in class org.eclipse.imagen.ComponentSampleModelJAI
        Parameters:
        w - the width of the resulting SampleModel
        h - the height of the resulting SampleModel
        Returns:
        a new SampleModel with the specified width and height.
        Throws:
        java.lang.IllegalArgumentException - if w or h is not greater than 0
      • createSubsetSampleModel

        public java.awt.image.SampleModel createSubsetSampleModel​(int[] bands)
        Overrides:
        createSubsetSampleModel in class org.eclipse.imagen.ComponentSampleModelJAI
        Parameters:
        bands - Ignored.
        Returns:
        a new org.esa.snap.jai.SingleBandSampleModel.
      • getOffset

        public final int getOffset​(int x,
                                   int y)
        Overrides:
        getOffset in class java.awt.image.ComponentSampleModel
      • getOffset

        public final int getOffset​(int x,
                                   int y,
                                   int b)
        Overrides:
        getOffset in class java.awt.image.ComponentSampleModel
      • getDataElements

        public java.lang.Object getDataElements​(int x,
                                                int y,
                                                int w,
                                                int h,
                                                java.lang.Object obj,
                                                java.awt.image.DataBuffer data)
        Overrides:
        getDataElements in class org.eclipse.imagen.ComponentSampleModelJAI
      • setDataElements

        public void setDataElements​(int x,
                                    int y,
                                    int w,
                                    int h,
                                    java.lang.Object obj,
                                    java.awt.image.DataBuffer data)
        Overrides:
        setDataElements in class org.eclipse.imagen.ComponentSampleModelJAI
      • getPixels

        public int[] getPixels​(int x,
                               int y,
                               int w,
                               int h,
                               int[] array,
                               java.awt.image.DataBuffer data)
        Overrides:
        getPixels in class java.awt.image.ComponentSampleModel
      • getPixels

        public float[] getPixels​(int x,
                                 int y,
                                 int w,
                                 int h,
                                 float[] array,
                                 java.awt.image.DataBuffer data)
        Overrides:
        getPixels in class java.awt.image.SampleModel
      • getPixels

        public double[] getPixels​(int x,
                                  int y,
                                  int w,
                                  int h,
                                  double[] array,
                                  java.awt.image.DataBuffer data)
        Overrides:
        getPixels in class org.eclipse.imagen.ComponentSampleModelJAI
      • setPixels

        public void setPixels​(int x,
                              int y,
                              int w,
                              int h,
                              int[] array,
                              java.awt.image.DataBuffer data)
        Overrides:
        setPixels in class java.awt.image.ComponentSampleModel
      • setPixels

        public void setPixels​(int x,
                              int y,
                              int w,
                              int h,
                              float[] array,
                              java.awt.image.DataBuffer data)
        Overrides:
        setPixels in class java.awt.image.SampleModel
      • setPixels

        public void setPixels​(int x,
                              int y,
                              int w,
                              int h,
                              double[] array,
                              java.awt.image.DataBuffer data)
        Overrides:
        setPixels in class java.awt.image.SampleModel
      • getPixel

        public int[] getPixel​(int x,
                              int y,
                              int[] array,
                              java.awt.image.DataBuffer data)
        Overrides:
        getPixel in class java.awt.image.ComponentSampleModel
      • getPixel

        public float[] getPixel​(int x,
                                int y,
                                float[] array,
                                java.awt.image.DataBuffer data)
        Overrides:
        getPixel in class java.awt.image.SampleModel
      • getPixel

        public double[] getPixel​(int x,
                                 int y,
                                 double[] array,
                                 java.awt.image.DataBuffer data)
        Overrides:
        getPixel in class java.awt.image.SampleModel
      • setPixel

        public void setPixel​(int x,
                             int y,
                             int[] array,
                             java.awt.image.DataBuffer data)
        Overrides:
        setPixel in class java.awt.image.ComponentSampleModel
      • setPixel

        public void setPixel​(int x,
                             int y,
                             float[] array,
                             java.awt.image.DataBuffer data)
        Overrides:
        setPixel in class java.awt.image.SampleModel
      • setPixel

        public void setPixel​(int x,
                             int y,
                             double[] array,
                             java.awt.image.DataBuffer data)
        Overrides:
        setPixel in class java.awt.image.SampleModel
      • getSamples

        public int[] getSamples​(int x,
                                int y,
                                int w,
                                int h,
                                int b,
                                int[] array,
                                java.awt.image.DataBuffer data)
        Overrides:
        getSamples in class java.awt.image.ComponentSampleModel
      • getSamples

        public float[] getSamples​(int x,
                                  int y,
                                  int w,
                                  int h,
                                  int b,
                                  float[] array,
                                  java.awt.image.DataBuffer data)
        Overrides:
        getSamples in class java.awt.image.SampleModel
      • getSamples

        public double[] getSamples​(int x,
                                   int y,
                                   int w,
                                   int h,
                                   int b,
                                   double[] array,
                                   java.awt.image.DataBuffer data)
        Overrides:
        getSamples in class java.awt.image.SampleModel
      • setSamples

        public void setSamples​(int x,
                               int y,
                               int w,
                               int h,
                               int b,
                               int[] array,
                               java.awt.image.DataBuffer data)
        Overrides:
        setSamples in class java.awt.image.ComponentSampleModel
      • setSamples

        public void setSamples​(int x,
                               int y,
                               int w,
                               int h,
                               int b,
                               float[] array,
                               java.awt.image.DataBuffer data)
        Overrides:
        setSamples in class java.awt.image.SampleModel
      • setSamples

        public void setSamples​(int x,
                               int y,
                               int w,
                               int h,
                               int b,
                               double[] array,
                               java.awt.image.DataBuffer data)
        Overrides:
        setSamples in class java.awt.image.SampleModel
      • getSample

        public int getSample​(int x,
                             int y,
                             int b,
                             java.awt.image.DataBuffer data)
        Overrides:
        getSample in class java.awt.image.ComponentSampleModel
      • getSampleFloat

        public float getSampleFloat​(int x,
                                    int y,
                                    int b,
                                    java.awt.image.DataBuffer data)
        Overrides:
        getSampleFloat in class org.eclipse.imagen.ComponentSampleModelJAI
      • getSampleDouble

        public double getSampleDouble​(int x,
                                      int y,
                                      int b,
                                      java.awt.image.DataBuffer data)
        Overrides:
        getSampleDouble in class org.eclipse.imagen.ComponentSampleModelJAI
      • setSample

        public void setSample​(int x,
                              int y,
                              int b,
                              int s,
                              java.awt.image.DataBuffer data)
        Overrides:
        setSample in class java.awt.image.ComponentSampleModel
      • setSample

        public void setSample​(int x,
                              int y,
                              int b,
                              float s,
                              java.awt.image.DataBuffer data)
        Overrides:
        setSample in class org.eclipse.imagen.ComponentSampleModelJAI
      • setSample

        public void setSample​(int x,
                              int y,
                              int b,
                              double s,
                              java.awt.image.DataBuffer data)
        Overrides:
        setSample in class org.eclipse.imagen.ComponentSampleModelJAI