/** * Sets the value as an <code>int</code>. <p>The method assumes that this value is a scalar and therefore simply * calls <code>setElemInt(0, value)</code>. * * @param value the value to be set * * @see #setElemIntAt(int index, int value) */ public void setElemInt(int value) { setElemIntAt(0, value); }
/** * Sets the value at the specified index as a <code>boolean</code>. * * @param index the value index, must be <code>>=0</code> and <code><getNumDataElems()</code> * @param value the value to be set * * @throws IndexOutOfBoundsException if the index is out of bounds */ public void setElemBooleanAt(int index, boolean value) { setElemIntAt(index, value ? 1 : 0); }
private void setNoData(int x) { if (numObsLine != null) { numObsLine.setElemIntAt(x, -1); } if (numPassesLine != null) { numPassesLine.setElemIntAt(x, -1); } for (int i = 0; i < outputBands.length; i++) { outputLines[i].setElemFloatAt(x, fillValues[i]); } }
private void setData(int x, TemporalBin temporalBin, Vector outputVector) { if (numObsLine != null) { numObsLine.setElemIntAt(x, temporalBin.getNumObs()); } if (numPassesLine != null) { numPassesLine.setElemIntAt(x, temporalBin.getNumPasses()); } for (int i = 0; i < outputBands.length; i++) { outputLines[i].setElemFloatAt(x, outputVector.get(i)); } }
@Override public void setSample(int x, int y, int sample) { if (scaled) { sample = (int) Math.floor(toRaw((double) sample) + 0.5); } dataBuffer.setElemIntAt(index(x, y), sample); }
@Override public void computeTileStack(Map<Band, Tile> targetTiles, Rectangle targetRectangle, ProgressMonitor pm) throws OperatorException { assertEquals(3, targetTiles.size()); for (Tile tt : targetTiles.values()) { ProductData dataBuffer = tt.getDataBuffer(); int numElems = dataBuffer.getNumElems(); for (int i = 0; i < numElems; i++) { dataBuffer.setElemIntAt(i, i); } } assertEquals(0, tileCache.getCacheTileCount()); } };
for (int i = 0; i < elems.length; i++) { final Object elem = elems[i] != null ? elems[i] : 0; destBuffer.setElemIntAt(i, (Byte) elem); for (int i = 0; i < elems.length; i++) { final Object elem = elems[i] != null ? elems[i] : 0; destBuffer.setElemIntAt(i, (Short) elem); for (int i = 0; i < elems.length; i++) { final Object elem = elems[i] != null ? elems[i] : 0; destBuffer.setElemIntAt(i, (Integer) elem);
private void fillBandWithData(final Band band, final int start) { final ProductData data = band.createCompatibleRasterData(); for (int i = 0; i < WIDTH * HEIGHT; i++) { data.setElemIntAt(i, start + i); } band.setData(data); }
public static void writeFlagCoding(Band band, NFileWriteable ncFile) throws IOException { final FlagCoding flagCoding = band.getFlagCoding(); if (flagCoding != null) { final String[] flagNames = flagCoding.getFlagNames(); ProductData flagValueData = ProductData.createInstance(band.getDataType(), flagNames.length); final StringBuilder meanings = new StringBuilder(); for (int i = 0; i < flagValueData.getNumElems(); i++) { if (meanings.length() > 0) { meanings.append(" "); } String name = flagNames[i]; meanings.append(name); flagValueData.setElemIntAt(i, flagCoding.getFlagMask(name)); } String variableName = ReaderUtils.getVariableName(band); String description = flagCoding.getDescription(); if (description != null) { ncFile.findVariable(variableName).addAttribute("long_name", description); } ncFile.findVariable(variableName).addAttribute(FLAG_MEANINGS, meanings.toString()); final Array maskValues = Array.factory(flagValueData.getElems()); maskValues.setUnsigned(flagValueData.isUnsigned()); ncFile.findVariable(variableName).addAttribute(FLAG_MASKS, maskValues); } }
private static ProductData createProductDataForBand(final Band band, final int start) { final ProductData data = band.createCompatibleRasterData(); for (int i = 0; i < band.getSceneRasterWidth() * band.getSceneRasterHeight(); i++) { data.setElemIntAt(i, start + i); } band.setData(data); return data; }
private void fillBandWithData(final Band band, final int start) { final ProductData data = band.createCompatibleRasterData(); for (int i = 0; i < band.getSceneRasterWidth() * band.getSceneRasterHeight(); i++) { data.setElemIntAt(i, start + i); } band.setData(data); } }
buffer.setElemIntAt(rasterIndex, elem.getInt(i));
private static ProductData createDataFor(Band dataBand) { final int width = dataBand.getSceneRasterWidth(); final int height = dataBand.getSceneRasterHeight(); final ProductData data = ProductData.createInstance(dataBand.getDataType(), width * height); for (int y = 0; y < height; y++) { final int line = y * width; for (int x = 0; x < width; x++) { data.setElemIntAt(line + x, x * y); } } return data; } }
private static ProductData createDataFor(Band dataBand) { final int width = dataBand.getSceneRasterWidth(); final int height = dataBand.getSceneRasterHeight(); final ProductData data = ProductData.createInstance(dataBand.getDataType(), width * height); for (int y = 0; y < height; y++) { final int line = y * width; for (int x = 0; x < width; x++) { data.setElemIntAt(line + x, x * y); } } return data; } }
subRasterData.setElemIntAt(i, pixels[i]);
/** * Sets the pixel at the given pixel co-ordinate to the given pixel value. * * @param x The X co-ordinate of the pixel location * @param y The Y co-ordinate of the pixel location * @param pixelValue the new pixel value * @throws NullPointerException if this band has no raster data */ @Override public void setPixelInt(int x, int y, int pixelValue) { if (isScalingApplied()) { getRasterData().setElemDoubleAt(getRasterWidth() * y + x, scaleInverse(pixelValue)); } else { getRasterData().setElemIntAt(getRasterWidth() * y + x, pixelValue); } fireProductNodeDataChanged(); setModified(true); }
private void fillBandDataInt(Band band, int startValue) { final ProductData data = band.createCompatibleProductData(product.getSceneRasterWidth() * product.getSceneRasterHeight()); int value = startValue; int dataIndex = 0; for(int i = 0; i < product.getSceneRasterWidth(); i++) { for(int j = 0; j < product.getSceneRasterHeight(); j++) { data.setElemIntAt(dataIndex++, value++); } } band.setData(data); }
final int xOffs = y * getRasterWidth(); for (x = x1; x <= x2; x++) { rasterData.setElemIntAt(xOffs + x, pixels[pos++]);
private void addMetadata(Product product) { final MetadataElement metadataRoot = product.getMetadataRoot(); metadataRoot.setDescription("metadata-desc"); final ProductData productData1 = ProductData.createInstance(ProductData.TYPE_INT16); productData1.setElemInt(123); final MetadataAttribute attribute1 = new MetadataAttribute("attrib1", productData1, false); metadataRoot.addAttribute(attribute1); final ProductData productData2 = ProductData.createInstance(new float[]{1, 2, 3, 4, 5, 6}); final MetadataAttribute attribute2 = new MetadataAttribute("attrib2", productData2, true); metadataRoot.addAttribute(attribute2); final ProductData productData3 = ProductData.createInstance(new double[]{7, 8, 9, 10, 11, 12}); final MetadataAttribute attribute3 = new MetadataAttribute("attrib3", productData3, false); metadataRoot.addAttribute(attribute3); final MetadataElement mdElem1 = new MetadataElement("mdElemName1"); mdElem1.setDescription("mdElem1-desc"); metadataRoot.addElement(mdElem1); final ProductData productData4 = ProductData.createInstance(new double[]{23.547, -8.0001, -59.989898}); final MetadataAttribute attribute4 = new MetadataAttribute("attrib4", productData4, true); mdElem1.addAttribute(attribute4); MetadataAttribute stringAttrib = new MetadataAttribute("StringAttrib", ProductData.createInstance("StringAttribValue"), true); mdElem1.addAttribute(stringAttrib); final ProductData productData5 = ProductData.createInstance(ProductData.TYPE_UTC); productData5.setElemIntAt(0, 123); productData5.setElemIntAt(1, 234); productData5.setElemIntAt(2, 345); final MetadataAttribute attribute5 = new MetadataAttribute("attrib5", productData5, false); metadataRoot.addAttribute(attribute5); }
protected void testFloat32RawSampleIO(TileImpl tile, int x, int y) { ProductData samplesGeneric = tile.getDataBuffer(); assertNotNull(samplesGeneric); float[] samplesFloat = tile.getDataBufferFloat(); assertNotNull(samplesFloat); assertSame(samplesFloat, samplesGeneric.getElems()); int lineOffset = tile.getScanlineOffset(); int lineStride = tile.getScanlineStride(); int index = lineOffset + (y - tile.getMinY()) * lineStride + (x - tile.getMinX()); assertTrue(index >= 0); assertTrue(index < samplesFloat.length); assertTrue(index < samplesGeneric.getNumElems()); assertEquals(index, tile.getDataBufferIndex(x, y)); samplesFloat[index] = 1234.56f; assertEquals(1234.56f, samplesFloat[index], 1e-5f); assertEquals(1234.56f, samplesGeneric.getElemFloatAt(index), 1e-5f); assertEquals(1234.56f, tile.getSampleFloat(x, y), 1e-5f); samplesGeneric.setElemFloatAt(index, 213.536f); assertEquals(213.536f, samplesFloat[index], 1e-5f); assertEquals(213.536f, samplesGeneric.getElemFloatAt(index), 1e-5f); assertEquals(213.536f, tile.getSampleFloat(x, y), 1e-5f); samplesGeneric.setElemIntAt(index, 707); assertEquals(707.0f, samplesFloat[index], 1e-5f); assertEquals(707.0f, samplesGeneric.getElemFloatAt(index), 1e-5f); assertEquals(707.0f, tile.getSampleFloat(x, y), 1e-5f); }