ShortLookupTablepublic class ShortLookupTable extends LookupTable This class defines a lookup table object. The output of a
lookup operation using an object of this class is interpreted
as an unsigned short quantity. The lookup table contains short
data arrays for one or more bands (or components) of an image,
and it contains an offset which will be subtracted from the
input values before indexing the arrays. This allows an array
smaller than the native data size to be provided for a
constrained input. If there is only one array in the lookup
table, it will be applied to all bands. |
Fields Summary |
---|
short[] | dataConstants |
Constructors Summary |
---|
public ShortLookupTable(int offset, short[] data)Constructs a ShortLookupTable object from an array of short
arrays representing a lookup table for each
band. The offset will be subtracted from the input
values before indexing into the arrays. The number of
bands is the length of the data argument. The
data array for each band is stored as a reference.
super(offset,data.length);
numComponents = data.length;
numEntries = data[0].length;
this.data = new short[numComponents][];
// Allocate the array and copy the data reference
for (int i=0; i < numComponents; i++) {
this.data[i] = data[i];
}
| public ShortLookupTable(int offset, short[] data)Constructs a ShortLookupTable object from an array
of shorts representing a lookup table for each
band. The offset will be subtracted from the input
values before indexing into the array. The
data array is stored as a reference.
super(offset,data.length);
numComponents = 1;
numEntries = data.length;
this.data = new short[1][];
this.data[0] = data;
|
Methods Summary |
---|
public final short[][] | getTable()Returns the lookup table data by reference. If this ShortLookupTable
was constructed using a single short array, the length of the returned
array is one.
return data;
| public int[] | lookupPixel(int[] src, int[] dst)Returns an array of samples of a pixel, translated with the lookup
table. The source and destination array can be the same array.
Array dst is returned.
if (dst == null) {
// Need to alloc a new destination array
dst = new int[src.length];
}
if (numComponents == 1) {
// Apply one LUT to all channels
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = (int) data[0][s];
}
}
else {
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = (int) data[i][s];
}
}
return dst;
| public short[] | lookupPixel(short[] src, short[] dst)Returns an array of samples of a pixel, translated with the lookup
table. The source and destination array can be the same array.
Array dst is returned.
if (dst == null) {
// Need to alloc a new destination array
dst = new short[src.length];
}
if (numComponents == 1) {
// Apply one LUT to all channels
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = data[0][s];
}
}
else {
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = data[i][s];
}
}
return dst;
|
|