Class SingleBandedSampleModel
- java.lang.Object
-
- java.awt.image.SampleModel
-
- java.awt.image.ComponentSampleModel
-
- org.eclipse.imagen.ComponentSampleModelJAI
-
- net.anwiba.commons.image.experimental.SingleBandedSampleModel
-
public class SingleBandedSampleModel extends org.eclipse.imagen.ComponentSampleModelJAIThis 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 supportsTYPE_BYTE,TYPE_USHORT,TYPE_SHORT,TYPE_INT,TYPE_FLOATandTYPE_DOUBLEdatatypes.
-
-
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.SampleModelcreateCompatibleSampleModel(int w, int h)Creates a new SingleBandSampleModel with the specified width and height.java.awt.image.SampleModelcreateSubsetSampleModel(int[] bands)Simply callscreateCompatibleSampleModel(width, height).java.lang.ObjectgetDataElements(int x, int y, int w, int h, java.lang.Object obj, java.awt.image.DataBuffer data)intgetOffset(int x, int y)intgetOffset(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)intgetSample(int x, int y, int b, java.awt.image.DataBuffer data)doublegetSampleDouble(int x, int y, int b, java.awt.image.DataBuffer data)floatgetSampleFloat(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)voidsetDataElements(int x, int y, int w, int h, java.lang.Object obj, java.awt.image.DataBuffer data)voidsetPixel(int x, int y, double[] array, java.awt.image.DataBuffer data)voidsetPixel(int x, int y, float[] array, java.awt.image.DataBuffer data)voidsetPixel(int x, int y, int[] array, java.awt.image.DataBuffer data)voidsetPixels(int x, int y, int w, int h, double[] array, java.awt.image.DataBuffer data)voidsetPixels(int x, int y, int w, int h, float[] array, java.awt.image.DataBuffer data)voidsetPixels(int x, int y, int w, int h, int[] array, java.awt.image.DataBuffer data)voidsetSample(int x, int y, int b, double s, java.awt.image.DataBuffer data)voidsetSample(int x, int y, int b, float s, java.awt.image.DataBuffer data)voidsetSample(int x, int y, int b, int s, java.awt.image.DataBuffer data)voidsetSamples(int x, int y, int w, int h, int b, double[] array, java.awt.image.DataBuffer data)voidsetSamples(int x, int y, int w, int h, int b, float[] array, java.awt.image.DataBuffer data)voidsetSamples(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
-
-
-
-
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- ifworhis not greater than 0 or ifdataTypeis 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:
createCompatibleSampleModelin classorg.eclipse.imagen.ComponentSampleModelJAI- Parameters:
w- the width of the resultingSampleModelh- the height of the resultingSampleModel- Returns:
- a new
SampleModelwith the specified width and height. - Throws:
java.lang.IllegalArgumentException- ifworhis not greater than 0
-
createSubsetSampleModel
public java.awt.image.SampleModel createSubsetSampleModel(int[] bands)
Simply callscreateCompatibleSampleModel(width, height).- Overrides:
createSubsetSampleModelin classorg.eclipse.imagen.ComponentSampleModelJAI- Parameters:
bands- Ignored.- Returns:
- a new
org.esa.snap.jai.SingleBandSampleModel.
-
getOffset
public final int getOffset(int x, int y)- Overrides:
getOffsetin classjava.awt.image.ComponentSampleModel
-
getOffset
public final int getOffset(int x, int y, int b)- Overrides:
getOffsetin classjava.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:
getDataElementsin classorg.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:
setDataElementsin classorg.eclipse.imagen.ComponentSampleModelJAI
-
getPixels
public int[] getPixels(int x, int y, int w, int h, int[] array, java.awt.image.DataBuffer data)- Overrides:
getPixelsin classjava.awt.image.ComponentSampleModel
-
getPixels
public float[] getPixels(int x, int y, int w, int h, float[] array, java.awt.image.DataBuffer data)- Overrides:
getPixelsin classjava.awt.image.SampleModel
-
getPixels
public double[] getPixels(int x, int y, int w, int h, double[] array, java.awt.image.DataBuffer data)- Overrides:
getPixelsin classorg.eclipse.imagen.ComponentSampleModelJAI
-
setPixels
public void setPixels(int x, int y, int w, int h, int[] array, java.awt.image.DataBuffer data)- Overrides:
setPixelsin classjava.awt.image.ComponentSampleModel
-
setPixels
public void setPixels(int x, int y, int w, int h, float[] array, java.awt.image.DataBuffer data)- Overrides:
setPixelsin classjava.awt.image.SampleModel
-
setPixels
public void setPixels(int x, int y, int w, int h, double[] array, java.awt.image.DataBuffer data)- Overrides:
setPixelsin classjava.awt.image.SampleModel
-
getPixel
public int[] getPixel(int x, int y, int[] array, java.awt.image.DataBuffer data)- Overrides:
getPixelin classjava.awt.image.ComponentSampleModel
-
getPixel
public float[] getPixel(int x, int y, float[] array, java.awt.image.DataBuffer data)- Overrides:
getPixelin classjava.awt.image.SampleModel
-
getPixel
public double[] getPixel(int x, int y, double[] array, java.awt.image.DataBuffer data)- Overrides:
getPixelin classjava.awt.image.SampleModel
-
setPixel
public void setPixel(int x, int y, int[] array, java.awt.image.DataBuffer data)- Overrides:
setPixelin classjava.awt.image.ComponentSampleModel
-
setPixel
public void setPixel(int x, int y, float[] array, java.awt.image.DataBuffer data)- Overrides:
setPixelin classjava.awt.image.SampleModel
-
setPixel
public void setPixel(int x, int y, double[] array, java.awt.image.DataBuffer data)- Overrides:
setPixelin classjava.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:
getSamplesin classjava.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:
getSamplesin classjava.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:
getSamplesin classjava.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:
setSamplesin classjava.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:
setSamplesin classjava.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:
setSamplesin classjava.awt.image.SampleModel
-
getSample
public int getSample(int x, int y, int b, java.awt.image.DataBuffer data)- Overrides:
getSamplein classjava.awt.image.ComponentSampleModel
-
getSampleFloat
public float getSampleFloat(int x, int y, int b, java.awt.image.DataBuffer data)- Overrides:
getSampleFloatin classorg.eclipse.imagen.ComponentSampleModelJAI
-
getSampleDouble
public double getSampleDouble(int x, int y, int b, java.awt.image.DataBuffer data)- Overrides:
getSampleDoublein classorg.eclipse.imagen.ComponentSampleModelJAI
-
setSample
public void setSample(int x, int y, int b, int s, java.awt.image.DataBuffer data)- Overrides:
setSamplein classjava.awt.image.ComponentSampleModel
-
setSample
public void setSample(int x, int y, int b, float s, java.awt.image.DataBuffer data)- Overrides:
setSamplein classorg.eclipse.imagen.ComponentSampleModelJAI
-
setSample
public void setSample(int x, int y, int b, double s, java.awt.image.DataBuffer data)- Overrides:
setSamplein classorg.eclipse.imagen.ComponentSampleModelJAI
-
-