private static long getImageFileSize(RasterDataNode band) { return (long) ProductData.getElemSize(band.getDataType()) * (long) band.getRasterWidth() * (long) band.getRasterHeight(); }
public int getHighestElemSize() { int highestElemSize = 0; for (Band band : srcProduct.getBands()) { if (writer.shouldWrite(band)) { int elemSize = ProductData.getElemSize(band.getDataType()); if (elemSize > highestElemSize) { highestElemSize = elemSize; } } } return highestElemSize; }
private static long getImageFileSize(final RasterDataNode band) { long numInterleaved = 1; if (isComplex(band)) { numInterleaved = 2; } return (long) ProductData.getElemSize(band.getDataType()) * (long) band.getRasterWidth() * (long) band.getRasterHeight() * numInterleaved; }
private static synchronized void readBandRasterData(final int sourceMinX, final int sourceMinY, final int sourceWidth, final int sourceHeight, final int sourceStepX, final int sourceStepY, final long bandOffset, final ImageInputStream imageInputStream, final Band destBand, final int destWidth, final ProductData destBuffer) throws IOException { final int sourceMaxX = sourceMinX + sourceWidth - 1; final int sourceMaxY = sourceMinY + sourceHeight - 1; final int sourceRasterWidth = destBand.getRasterWidth(); final int elemSize = destBuffer.getElemSize(); int destPos = 0; for (int sourceY = sourceMinY; sourceY <= sourceMaxY; sourceY += sourceStepY) { final long sourcePosY = sourceY * sourceRasterWidth; if (sourceStepX == 1) { imageInputStream.seek(bandOffset + elemSize * (sourcePosY + sourceMinX)); destBuffer.readFrom(destPos, destWidth, imageInputStream); destPos += destWidth; } else { for (int sourceX = sourceMinX; sourceX <= sourceMaxX; sourceX += sourceStepX) { imageInputStream.seek(bandOffset + elemSize * (sourcePosY + sourceX)); destBuffer.readFrom(destPos, 1, imageInputStream); destPos++; } } } }
throws IOException { final int sourceMaxY = sourceOffsetY + sourceHeight - 1; final int x = sourceOffsetX * ProductData.getElemSize(destBuffer.getType()); final long xpos = startPosImageRecords + imageHeaderLength + x;
final boolean oneOf2 = destBand.getUnit().equals(Unit.REAL) || !destBand.getName().startsWith("q"); final int samplesPerGroup = imageFile.getSamplesPerDataGroup(); final int elemSize = (samplesPerGroup * ProductData.getElemSize(destBuffer.getType()));
throws IOException { final int sourceMaxY = sourceOffsetY + sourceHeight - 1; final int x = sourceOffsetX * ProductData.getElemSize(destBuffer.getType()); final long xpos = startPosImageRecords + imageHeaderLength + x;
throws IOException { final int sourceMaxY = sourceOffsetY + sourceHeight - 1; final int x = sourceOffsetX * ProductData.getElemSize(destBuffer.getType()); final long xpos = startPosImageRecords + imageHeaderLength + x;
throws IOException { final int sourceMaxY = sourceOffsetY + sourceHeight - 1; final int x = sourceOffsetX * ProductData.getElemSize(destBuffer.getType()); final long xpos = startPosImageRecords + imageHeaderLength + x;
final long elemSize = destBuffer.getElemSize(); // bytes
final int sourceRasterWidth = destBand.getRasterWidth(); final int elemSize = destBuffer.getElemSize() * 2; int destPos = 0;
final int elemSize = destBuffer.getElemSize();
@Override protected void readBandRasterDataImpl(int sourceOffsetX, int sourceOffsetY, int sourceWidth, int sourceHeight, int sourceStepX, int sourceStepY, Band destBand, int destOffsetX, int destOffsetY, int destWidth, int destHeight, ProductData destBuffer, ProgressMonitor pm) throws IOException { final int sourceMaxY = sourceOffsetY + sourceHeight - 1; Product product = destBand.getProduct(); final int elemSize = destBuffer.getElemSize(); final int bandIndex = product.getBandIndex(destBand.getName()); final long lineSizeInBytes = (long)metadata.getRasterWidth() * (long)metadata.getRasterPixelSize(); int numBands = product.getNumBands(); pm.beginTask("Reading band '" + destBand.getName() + "'...", sourceMaxY - sourceOffsetY); try { int destPos = 0; for (int sourceY = sourceOffsetY; sourceY <= sourceMaxY; sourceY += sourceStepY) { if (pm.isCanceled()) { break; } synchronized (sharedLock) { long lineStartPos = sourceY * numBands * lineSizeInBytes + bandIndex * lineSizeInBytes; imageInputStream.seek(lineStartPos + elemSize * sourceOffsetX); destBuffer.readFrom(destPos, destWidth, imageInputStream); destPos += destWidth; } pm.worked(1); } } finally { pm.done(); } }
final int elemSize = destBuffer.getElemSize();
final long elemSize = destBuffer.getElemSize(); int destPos = 0;
final int elemSize = destBuffer.getElemSize(); int bandIndex = 0; if (destBand.getUnit() != null && destBand.getUnit().equals(Unit.IMAGINARY)) { final int sourceMaxY = sourceOffsetY + sourceHeight - 1; Product product = destBand.getProduct(); final int elemSize = destBuffer.getElemSize();
final int elemSize = destBuffer.getElemSize();
final int elemSize = destBuffer.getElemSize();