/** * {@inheritDoc} */ @Override public Double getValue(GriddedTile griddedTile, byte[] imageBytes, int x, int y) { int pixelValue = getPixelValue(imageBytes, x, y); Double value = getValue(griddedTile, pixelValue); return value; }
for (int i = 0; i < pixelValues.length; i++) { TestCase.assertEquals(coverageDataValues.tilePixelsFlat[i], coverageData.getPixelValue(pixelValues[i])); if (coverageDataValues != null) { TestCase.assertEquals(coverageDataValues.tilePixels[y][x], coverageData.getPixelValue(pixelValue)); TestCase.assertEquals( coverageDataValues.tilePixelsFlat[(y * width) + x], coverageData.getPixelValue(pixelValue)); TestCase.assertEquals( coverageDataValues.tileUnsignedPixels[y][x],
/** * Set the pixel value * * @param row image line row * @param x x coordinate * @param unsignedPixelValue unsigned pixel value */ public void setPixelValue(ImageLineInt row, int x, int unsignedPixelValue) { short pixelValue = getPixelValue(unsignedPixelValue); setPixelValue(row, x, pixelValue); }
/** * Set the pixel value * * @param row row array * @param x x coordinate * @param unsignedPixelValue unsigned pixel value */ public void setPixelValue(int[] row, int x, int unsignedPixelValue) { short pixelValue = getPixelValue(unsignedPixelValue); setPixelValue(row, x, pixelValue); }
/** * Set the unsigned 16 bit integer pixel value into the image raster * * @param raster * image raster * @param x * x coordinate * @param y * y coordinate * @param unsignedPixelValue * unsigned 16 bit integer pixel value */ public void setPixelValue(WritableRaster raster, int x, int y, int unsignedPixelValue) { short pixelValue = getPixelValue(unsignedPixelValue); setPixelValue(raster, x, y, pixelValue); }
/** * Get the pixel value as a 16 bit unsigned integer value * * @param image * tile image * @param x * x coordinate * @param y * y coordinate * @return unsigned integer pixel value */ public int getUnsignedPixelValue(BufferedImage image, int x, int y) { short pixelValue = getPixelValue(image, x, y); int unsignedPixelValue = getUnsignedPixelValue(pixelValue); return unsignedPixelValue; }
/** * Get the pixel value as a 16 bit unsigned integer value * * @param raster * image raster * @param x * x coordinate * @param y * y coordinate * @return unsigned integer pixel value */ public int getUnsignedPixelValue(WritableRaster raster, int x, int y) { short pixelValue = getPixelValue(raster, x, y); int unsignedPixelValue = getUnsignedPixelValue(pixelValue); return unsignedPixelValue; }
/** * Get the coverage data value * * @param griddedTile * gridded tile * @param raster * image raster * @param x * x coordinate * @param y * y coordinate * @return coverage data value */ public Double getValue(GriddedTile griddedTile, WritableRaster raster, int x, int y) { short pixelValue = getPixelValue(raster, x, y); Double value = getValue(griddedTile, pixelValue); return value; }
/** * Get the pixel value as an "unsigned short" * * @param image * tile image * @param x * x coordinate * @param y * y coordinate * @return "unsigned short" pixel value */ public short getPixelValue(BufferedImage image, int x, int y) { validateImageType(image); WritableRaster raster = image.getRaster(); short pixelValue = getPixelValue(raster, x, y); return pixelValue; }
/** * Get the coverage data value * * @param griddedTile * gridded tile * @param image * tile image * @param x * x coordinate * @param y * y coordinate * @return coverage data value */ public Double getValue(GriddedTile griddedTile, BufferedImage image, int x, int y) { short pixelValue = getPixelValue(image, x, y); Double value = getValue(griddedTile, pixelValue); return value; }
/** * Draw a coverage data image tile from the double array of unsigned * coverage data values formatted as Double[row][width] * * @param griddedTile * gridded tile * @param values * coverage data values as [row][width] * @return coverage data image tile */ public BufferedImage drawTile(GriddedTile griddedTile, Double[][] values) { int tileWidth = values[0].length; int tileHeight = values.length; BufferedImage image = createImage(tileWidth, tileHeight); WritableRaster raster = image.getRaster(); for (int x = 0; x < tileWidth; x++) { for (int y = 0; y < tileHeight; y++) { Double value = values[y][x]; short pixelValue = getPixelValue(griddedTile, value); setPixelValue(raster, x, y, pixelValue); } } return image; }
/** * Draw a coverage data image tile from the flat array of coverage data * values of length tileWidth * tileHeight where each coverage data value is * at: (y * tileWidth) + x * * @param griddedTile * gridded tile * @param values * coverage data values of length tileWidth * tileHeight * @param tileWidth * tile width * @param tileHeight * tile height * @return coverage data image tile */ public BufferedImage drawTile(GriddedTile griddedTile, Double[] values, int tileWidth, int tileHeight) { BufferedImage image = createImage(tileWidth, tileHeight); WritableRaster raster = image.getRaster(); for (int x = 0; x < tileWidth; x++) { for (int y = 0; y < tileHeight; y++) { Double value = values[(y * tileWidth) + x]; short pixelValue = getPixelValue(griddedTile, value); setPixelValue(raster, x, y, pixelValue); } } return image; }
/** * Draw a coverage data image tile from the double array of unsigned coverage data values * formatted as Double[row][width] * * @param griddedTile gridded tile * @param values coverage data values as [row][width] * @return coverage data image tile */ public CoverageDataPngImage drawTile(GriddedTile griddedTile, Double[][] values) { int tileWidth = values[0].length; int tileHeight = values.length; CoverageDataPngImage image = createImage(tileWidth, tileHeight); PngWriter writer = image.getWriter(); for (int y = 0; y < tileHeight; y++) { ImageLineInt row = new ImageLineInt(writer.imgInfo, new int[tileWidth]); int[] rowLine = row.getScanline(); for (int x = 0; x < tileWidth; x++) { Double value = values[y][x]; short pixelValue = getPixelValue(griddedTile, value); setPixelValue(rowLine, x, pixelValue); } writer.writeRow(row); } writer.end(); image.flushStream(); return image; }
/** * Draw a coverage data image tile from the flat array of coverage data values of length * tileWidth * tileHeight where each coverage data value is at: (y * tileWidth) + x * * @param griddedTile gridded tile * @param values coverage data values of length tileWidth * tileHeight * @param tileWidth tile width * @param tileHeight tile height * @return coverage data image tile */ public CoverageDataPngImage drawTile(GriddedTile griddedTile, Double[] values, int tileWidth, int tileHeight) { CoverageDataPngImage image = createImage(tileWidth, tileHeight); PngWriter writer = image.getWriter(); for (int y = 0; y < tileHeight; y++) { ImageLineInt row = new ImageLineInt(writer.imgInfo, new int[tileWidth]); int[] rowLine = row.getScanline(); for (int x = 0; x < tileWidth; x++) { Double value = values[(y * tileWidth) + x]; short pixelValue = getPixelValue(griddedTile, value); setPixelValue(rowLine, x, pixelValue); } writer.writeRow(row); } writer.end(); image.flushStream(); return image; }