/** * Writes the scaling offset value to the out stream. * * @param out - the tream to write to * @param rasterDataNode the <code>RasterDataNode</code> */ private static void writeScalingOffset(PrintWriter out, RasterDataNode rasterDataNode) { out.println("data offset values = {" + rasterDataNode.getScalingOffset() + "}"); }
private void setScalingApplied() { scalingApplied = getScalingFactor() != 1.0 || getScalingOffset() != 0.0 || isLog10Scaled(); }
/** * Returns the geophysical data type of this <code>RasterDataNode</code>. The value returned is always one of the * <code>ProductData.TYPE_XXX</code> constants. * * @return the geophysical data type * @see ProductData * @see #isScalingApplied() */ public int getGeophysicalDataType() { return ImageManager.getProductDataType( ReinterpretDescriptor.getTargetDataType(ImageManager.getDataBufferType(getDataType()), getScalingFactor(), getScalingOffset(), getScalingType(), getInterpretationType())); }
@Override protected RenderedImage createImage(RenderedImage[] sourceImages, int level) { final RenderedImage source = sourceImages[0]; final double factor = getScalingFactor(); final double offset = getScalingOffset(); final ScalingType scalingType = getScalingType(); final InterpretationType interpretationType = getInterpretationType(); final int sourceDataType = source.getSampleModel().getDataType(); final int targetDataType = ReinterpretDescriptor.getTargetDataType(sourceDataType, factor, offset, scalingType, interpretationType); final SampleModel sampleModel = new SingleBandedSampleModel(targetDataType, source.getSampleModel().getWidth(), source.getSampleModel().getHeight()); final ImageLayout imageLayout = ReinterpretDescriptor.createTargetImageLayout(source, sampleModel); return ReinterpretDescriptor.create(source, factor, offset, scalingType, interpretationType, new RenderingHints(JAI.KEY_IMAGE_LAYOUT, imageLayout)); } });
sourceImage = ReinterpretDescriptor.create(sourceImage, raster.getScalingFactor(), raster.getScalingOffset(), ReinterpretDescriptor.EXPONENTIAL, ReinterpretDescriptor.AWT, null); newMin = minSample;
variable.addAttribute(Constants.SCALE_FACTOR_ATT_NAME, scalingFactor); final double scalingOffset = rasterDataNode.getScalingOffset(); if (scalingOffset != 0.0) { variable.addAttribute(Constants.ADD_OFFSET_ATT_NAME, scalingOffset);
targetRaster.setUnit(sourceRaster.getUnit()); targetRaster.setScalingFactor(sourceRaster.getScalingFactor()); targetRaster.setScalingOffset(sourceRaster.getScalingOffset()); targetRaster.setLog10Scaled(sourceRaster.isLog10Scaled()); targetRaster.setNoDataValueUsed(sourceRaster.isNoDataValueUsed());