This class represents image data which is stored such that each sample
of a pixel occupies one data element of the DataBuffer. It stores the
N samples which make up a pixel in N separate data array elements.
Different bands may be in different banks of the DataBuffer.
Accessor methods are provided so that image data can be manipulated
directly. This class can support different kinds of interleaving, e.g.
band interleaving, scanline interleaving, and pixel interleaving.
Pixel stride is the number of data array elements between two samples
for the same band on the same scanline. Scanline stride is the number
of data array elements between a given sample and the corresponding sample
in the same column of the next scanline. Band offsets denote the number
of data array elements from the first data array element of the bank
of the DataBuffer holding each band to the first sample of the band.
The bands are numbered from 0 to N-1. This class can represent image
data for which each sample is an unsigned integral number which can be
stored in 8, 16, or 32 bits (using
DataBuffer.TYPE_BYTE
,
DataBuffer.TYPE_USHORT
, or
DataBuffer.TYPE_INT
,
respectively), data for which each sample is a signed integral number
which can be stored in 16 bits (using
DataBuffer.TYPE_SHORT
),
or data for which each sample is a signed float or double quantity
(using
DataBuffer.TYPE_FLOAT
or
DataBuffer.TYPE_DOUBLE
, respectively).
All samples of a given ComponentSampleModel
are stored with the same precision. All strides and offsets must be
non-negative. This class supports
TYPE_BYTE
,
TYPE_USHORT
,
TYPE_SHORT
,
TYPE_INT
,
TYPE_FLOAT
,
TYPE_DOUBLE
,