/** * Constructs a single-banded double lookup table with an index offset. * * @param data The single-banded double data. * @param offset The offset. * @throws IllegalArgumentException if data is null. */ public static LookupTable create(double[] data, int offset) { return new LookupTable(data, offset); }
if (!isIntegralDataType(srcSampleModel)) { throw new IllegalArgumentException("Only integral data type are handled"); dstSampleModel = getDestSampleModel(srcSampleModel, rect.width, rect.height); dst = RasterFactory.createWritableRaster(dstSampleModel, new Point(rect.x, rect.y)); } else { dstSampleModel = dst.getSampleModel(); if (dstSampleModel.getTransferType() != getDataType() || dstSampleModel.getNumBands() != getDestNumBands(srcSampleModel.getNumBands())) { throw new IllegalArgumentException( "Destination image must have the same data type and band number of the Table"); int tblNumBands = getNumBands(); int tblDataType = getDataType(); int[] tblOffsets = getOffsets(); byte[][] bTblData = getByteData(); short[][] sTblData = getShortData(); int[][] iTblData = getIntData(); float[][] fTblData = getFloatData(); double[][] dTblData = getDoubleData(); switch (srcDataType) { case DataBuffer.TYPE_BYTE: lookup(srcLineStride, srcPixelStride, srcBandOffsets, bSrcData, dstWidth, dstHeight, dstNumBands,
if (sampleModel.getTransferType() != lookupTable.getDataType() || sampleModel.getNumBands() != lookupTable.getDestNumBands(sModel.getNumBands())) { sampleModel = lookupTable.getDestSampleModel(sModel, tileWidth, tileHeight); if (colorModel != null && !JDKWorkarounds.areCompatibleDataModels(sampleModel, colorModel)) { lookupTable.setROIparams(roiBounds, srcROIImage, useRoiAccessor); } else { lookupTable.unsetROI(); lookupTable.setNoDataRange(noData); } else { lookupTable.unsetNoData(); lookupTable.setDestinationNoData(destinationNoData);
/** * Transform the colormap via the lookup table. NoData values are not considered. */ protected void transformColormap(byte[][] colormap) { for (int b = 0; b < 3; b++) { byte[] map = colormap[b]; int mapSize = map.length; int band = lookupTable.getNumBands() < 3 ? 0 : b; for (int i = 0; i < mapSize; i++) { // Lookup operation for every table element int result = lookupTable.lookup(band, map[i] & 0xFF); map[i] = ImageUtil.clampByte(result); } } }
d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value);
roiData, noDataRange, useRoiAccessor, null); if (INTERACTIVE && table.getDataType() == DataBuffer.TYPE_BYTE && TEST_SELECTOR == selector.getType() && dataTypeInput == DataBuffer.TYPE_BYTE) { assertEquals(table.getDataType(),destinationIMG.getSampleModel().getDataType());
if (!isIntegralDataType(srcSampleModel)) { throw new IllegalArgumentException("Only integral data type are handled"); dstSampleModel = getDestSampleModel(srcSampleModel, rect.width, rect.height); dst = RasterFactory.createWritableRaster(dstSampleModel, new Point(rect.x, rect.y)); } else { dstSampleModel = dst.getSampleModel(); if (dstSampleModel.getTransferType() != getDataType() || dstSampleModel.getNumBands() != getDestNumBands(srcSampleModel.getNumBands())) { throw new IllegalArgumentException( "Destination image must have the same data type and band number of the Table"); int tblNumBands = getNumBands(); int tblDataType = getDataType(); int[] tblOffsets = getOffsets(); byte[][] bTblData = getByteData(); short[][] sTblData = getShortData(); int[][] iTblData = getIntData(); float[][] fTblData = getFloatData(); double[][] dTblData = getDoubleData(); switch (srcDataType) { case DataBuffer.TYPE_BYTE: lookup(srcLineStride, srcPixelStride, srcBandOffsets, bSrcData, dstWidth, dstHeight, dstNumBands,
if (sampleModel.getTransferType() != lookupTable.getDataType() || sampleModel.getNumBands() != lookupTable.getDestNumBands(sModel.getNumBands())) { sampleModel = lookupTable.getDestSampleModel(sModel, tileWidth, tileHeight); if (colorModel != null && !JDKWorkarounds.areCompatibleDataModels(sampleModel, colorModel)) { lookupTable.setROIparams(roiBounds, srcROIImage, useRoiAccessor); } else { lookupTable.unsetROI(); lookupTable.setNoDataRange(noData); } else { lookupTable.unsetNoData(); lookupTable.setDestinationNoData(destinationNoData);
/** * Transform the colormap via the lookup table. NoData values are not considered. */ protected void transformColormap(byte[][] colormap) { for (int b = 0; b < 3; b++) { byte[] map = colormap[b]; int mapSize = map.length; int band = lookupTable.getNumBands() < 3 ? 0 : b; for (int i = 0; i < mapSize; i++) { // Lookup operation for every table element int result = lookupTable.lookup(band, map[i] & 0xFF); map[i] = ImageUtil.clampByte(result); } } }
d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value);
/** * Constructs a multi-banded double lookup table. The index offset for each band is 0. * * @param data The multi-banded double data in [band][index] format. * @throws IllegalArgumentException if data is null. */ public static LookupTable create(double[][] data) { return new LookupTable(data); }
d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset] & 0xFFFF); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset] & 0xFFFF); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset] & 0xFFFF); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value);
/** * Constructs a multi-banded double lookup table where all bands have the same index offset. * * @param data The multi-banded double data in [band][index] format. * @param offset The common offset for all bands. * @throws IllegalArgumentException if data is null. */ public static LookupTable create(double[][] data, int offset) { return new LookupTable(data, offset); }
d[dstPixelOffset] = getData().getElem(b, (s[srcPixelOffset]&0xFF)); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, (s[srcPixelOffset]&0xFF)); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, (s[srcPixelOffset]&0xFF)); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, (s[srcPixelOffset]&0xFF)); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, (s[srcPixelOffset]&0xFF)); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, (s[srcPixelOffset]) & 0xFF);
/** * Constructs a multi-banded double lookup table where each band has a different index offset. * * @param data The multi-banded double data in [band][index] format. * @param offsets The offsets for the bands. * @throws IllegalArgumentException if data is null. */ public static LookupTable create(double[][] data, int[] offsets) { return new LookupTable(data, offsets); }
d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value);
/** * Constructs a single-banded double lookup table with an index offset. * * @param data The single-banded double data. * @param offset The offset. * @throws IllegalArgumentException if data is null. */ public static LookupTable create(double[] data, int offset) { return new LookupTable(data, offset); }
d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset]); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value);
/** * Constructs a multi-banded float lookup table where all bands have the same index offset. * * @param data The multi-banded float data in [band][index] format. * @param offset The common offset for all bands. * @throws IllegalArgumentException if data is null. */ public static LookupTable create(float[][] data, int offset) { return new LookupTable(data, offset); }
d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset] & 0xFFFF); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset] & 0xFFFF); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, s[srcPixelOffset] & 0xFFFF); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value); d[dstPixelOffset] = destinationNoDataInt; } else { d[dstPixelOffset] = getData().getElem(b, value);