本文整理了Java中org.esa.beam.framework.datamodel.Band.setScalingOffset()
方法的一些代码示例,展示了Band.setScalingOffset()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Band.setScalingOffset()
方法的具体详情如下:
包路径:org.esa.beam.framework.datamodel.Band
类名称:Band
方法名:setScalingOffset
暂无
代码示例来源:origin: bcdev/beam
private static void setScaling(final Element element, final Band band) {
final String scalingFactorString = element.getChildTextTrim(DimapProductConstants.TAG_SCALING_FACTOR);
if (scalingFactorString != null) {
band.setScalingFactor(Double.parseDouble(scalingFactorString));
}
final String scalingOffsetString = element.getChildTextTrim(DimapProductConstants.TAG_SCALING_OFFSET);
if (scalingOffsetString != null) {
band.setScalingOffset(Double.parseDouble(scalingOffsetString));
}
final String log10ScaledString = element.getChildTextTrim(DimapProductConstants.TAG_SCALING_LOG_10);
if (log10ScaledString != null) {
band.setLog10Scaled(Boolean.parseBoolean(log10ScaledString));
}
}
代码示例来源:origin: bcdev/beam
private Band createTargetBand(Product product, H5ScalarDS scalarDS, String bandName, int dataType) throws Exception {
final List
final float scaleFactorAttr = ProbaVUtils.getFloatAttributeValue(metadata, "SCALE");
final float scaleFactor = Float.isNaN(scaleFactorAttr) ? 1.0f : scaleFactorAttr;
final float scaleOffsetAttr = ProbaVUtils.getFloatAttributeValue(metadata, "OFFSET");
final float scaleOffset = Float.isNaN(scaleOffsetAttr) ? 0.0f : scaleOffsetAttr;
final Band band = product.addBand(bandName, dataType);
band.setScalingFactor(1.0 / scaleFactor);
band.setScalingOffset(-1.0 * scaleOffset / scaleFactor);
return band;
}
代码示例来源:origin: bcdev/beam
private Band createTargetBand(Product product, H5ScalarDS scalarDS, String bandName, int dataType) throws Exception {
final List
final float scaleFactorAttr = ProbaVUtils.getFloatAttributeValue(metadata, "SCALE");
final float scaleFactor = Float.isNaN(scaleFactorAttr) ? 1.0f : scaleFactorAttr;
final float scaleOffsetAttr = ProbaVUtils.getFloatAttributeValue(metadata, "OFFSET");
final float scaleOffset = Float.isNaN(scaleOffsetAttr) ? 0.0f : scaleOffsetAttr;
final Band band = product.addBand(bandName, dataType);
band.setScalingFactor(scaleFactor);
band.setScalingOffset(scaleOffset);
return band;
}
代码示例来源:origin: bcdev/beam
private Band addBand(Product product, int bandDataType, BandInfo bandInfo, NetcdfFile netcdfFile,
Variable variable) {
Band band = product.addBand(bandInfo.name, bandDataType);
if (! Boolean.getBoolean("beam.spotvgt.donotapplysolarilluminationfactor") &&
product.getName().matches("V.KRNP.*") &&
("B0".equals(bandInfo.name) ||
"B2".equals(bandInfo.name) ||
"B3".equals(bandInfo.name) ||
"MIR".equals(bandInfo.name))) {
int doy = product.getStartTime().getAsCalendar().get(Calendar.DAY_OF_YEAR);
band.setScalingFactor(bandInfo.coefA * SpotVgtConstants.SOLAR_ILLUMINATION_FACTOR[doy-1]);
} else {
band.setScalingFactor(bandInfo.coefA);
}
band.setScalingOffset(bandInfo.offsetB);
band.setUnit(bandInfo.unit);
band.setDescription(bandInfo.description);
fileVars.put(band, new FileVar(netcdfFile, variable));
return band;
}
代码示例来源:origin: bcdev/beam
private void addBand(String varName) {
VariableMetadata variableMetadata = getVariableMetadata(varName);
if (variableMetadata != null) {
Band band = new Band(variableMetadata.name, ProductData.TYPE_INT16, _sceneRasterWidth, _sceneRasterHeight);
band.setDescription(variableMetadata.description);
band.setScalingOffset(variableMetadata.scalingOffset);
band.setScalingFactor(variableMetadata.scalingFactor);
band.setLog10Scaled(variableMetadata.log10Scaled);
band.setNoDataValue(variableMetadata.fillValue);
band.setNoDataValueUsed(variableMetadata.fillValue != Double.NaN);
_product.addBand(band);
bandMap.put(band, variableMetadata);
}
}
代码示例来源:origin: bcdev/beam
private Band createBand(Product product,
int type,
double scalingFactor,
double scalingOffset,
boolean log10scaled) {
final Band node = new Band("b", type, 10, 10);
node.setScalingFactor(scalingFactor);
node.setScalingOffset(scalingOffset);
node.setLog10Scaled(log10scaled);
product.addBand(node);
return node;
}
代码示例来源:origin: bcdev/beam
private Band addBand(Product product, String varName, int productType) {
Band band = new Band(varName, productType, product.getSceneRasterWidth(),
product.getSceneRasterHeight());
band.setScalingOffset(0.0);
band.setScalingFactor(1.0);
band.setLog10Scaled(false);
if (productType == ProductData.TYPE_FLOAT32) {
band.setNoDataValue(Double.NaN);
} else {
band.setNoDataValue(-999);
}
product.addBand(band);
return band;
}
}
代码示例来源:origin: bcdev/beam
private Band addBand(Product product, String varName, int productType) {
Band band = new Band(varName, productType, product.getSceneRasterWidth(),
product.getSceneRasterHeight());
band.setScalingOffset(0.0);
band.setScalingFactor(1.0);
band.setLog10Scaled(false);
if (productType == ProductData.TYPE_FLOAT32) {
band.setNoDataValue(Double.NaN);
} else {
band.setNoDataValue(-999);
}
band.setNoDataValueUsed(true);
product.addBand(band);
return band;
}
代码示例来源:origin: bcdev/beam
band.setScalingOffset(bandDescriptor.getScalingOffset());
product.addBand(band);
代码示例来源:origin: bcdev/beam
private Band createBand(double factor, double offset, boolean log10Scaled) {
Product p = new Product("n", "t", 2, 2);
Band band = p.addBand("b", ProductData.TYPE_INT8);
band.setScalingFactor(factor);
band.setScalingOffset(offset);
band.setLog10Scaled(log10Scaled);
band.setSourceImage(createSourceImage());
return band;
}
代码示例来源:origin: bcdev/beam
public void testSetAndGetPixels_UShort_Int() throws Exception {
final Band band = new Band("radiance_4", ProductData.TYPE_UINT16, 3, 2);
band.ensureRasterData();
short[] testShortsRaw, trueShortsRaw;
final ProductData data = band.getData();
int[] testInts, trueInts;
testInts = new int[]{1, 2, 3, 4, 5, 6};
band.setPixels(0, 0, 3, 2, testInts);
trueInts = band.getPixels(0, 0, 3, 2, (int[]) null, ProgressMonitor.NULL);
assertTrue(Arrays.equals(testInts, trueInts));
testShortsRaw = new short[]{1, 2, 3, 4, 5, 6};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
band.setScalingFactor(0.5);
band.setScalingOffset(-13);
testInts = new int[]{3, -5, 7, -9, 11, -13};
band.setPixels(0, 0, 3, 2, testInts);
trueInts = band.getPixels(0, 0, 3, 2, (int[]) null, ProgressMonitor.NULL);
assertTrue(Arrays.equals(testInts, trueInts));
testShortsRaw = new short[]{32, 16, 40, 8, 48, 0};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
}
代码示例来源:origin: bcdev/beam
public void testSetAndGetPixels_UShort_Double() throws Exception {
final Band band = new Band("radiance_4", ProductData.TYPE_UINT16, 3, 2);
band.ensureRasterData();
short[] testShortsRaw, trueShortsRaw;
final ProductData data = band.getData();
double[] testDoubles, trueDoubles;
band.setScalingFactor(0.01);
band.setScalingOffset(-10);
testDoubles = new double[]{1.1, -2.2, 3.3, -4.4, 5.5, -6.6};
band.setPixels(0, 0, 3, 2, testDoubles);
trueDoubles = band.getPixels(0, 0, 3, 2, (double[]) null, ProgressMonitor.NULL);
for (int i = 0; i
}
testShortsRaw = new short[]{1110, 780, 1330, 560, 1550, 340};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
}
代码示例来源:origin: bcdev/beam
private void addBand(final Product product) {
final String bandName = "radiance_1"; // constant
final Band band = new Band(bandName, ProductData.TYPE_UINT8,
product.getSceneRasterWidth(),
product.getSceneRasterHeight());
band.setSpectralBandIndex(0); // constant
band.setSpectralWavelength(645); // constant
band.setSpectralBandwidth(250); // constant
band.setUnit("mw / (m^2*sr*nm)"); // constant
band.setScalingFactor(leaderFile.getAncillary2Record().getAbsoluteCalibrationGain());
band.setScalingOffset(leaderFile.getAncillary2Record().getAbsoluteCalibrationOffset());
band.setNoDataValue(0.00);
band.setNoDataValueUsed(true);
product.addBand(band);
}
代码示例来源:origin: bcdev/beam
public void testSetAndGetPixels_UShort_Float() throws Exception {
final Band band = new Band("radiance_4", ProductData.TYPE_UINT16, 3, 2);
band.ensureRasterData();
short[] testShortsRaw, trueShortsRaw;
final ProductData data = band.getData();
float[] testFloats, trueFloats;
band.setScalingFactor(0.01);
band.setScalingOffset(-10);
testFloats = new float[]{1.1f, -2.2f, 3.3f, -4.4f, 5.5f, -6.6f};
band.setPixels(0, 0, 3, 2, testFloats);
trueFloats = band.getPixels(0, 0, 3, 2, (float[]) null, ProgressMonitor.NULL);
for (int i = 0; i
}
testShortsRaw = new short[]{1110, 780, 1330, 560, 1550, 340};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
}
代码示例来源:origin: bcdev/beam
public void testComputeBandWithScaling() throws IOException,
ParseException {
_targetBand.setScalingFactor(0.05);
_targetBand.setScalingOffset(-7);
_product1.getBand("b1").setDataElems(new float[]{
2, 3, 4, 5,
6, 7, 8, 9,
10, 11, 12, 13
});
_product1.setModified(false);
_targetBand.computeBand("b1", null, new Product[]{_product1}, 0, false, false, 0, ProgressMonitor.NULL);
for (int y = 0; y <_height; y++) {
for (int x = 0; x <_width; x++) {
final float expected = 2 + y * _width + x;
assertEquals("at index(x,y) = " + x + "," + y,
expected,
_targetBand.getPixelFloat(x, y), 1e-5);
}
}
}
代码示例来源:origin: bcdev/beam
private Band createBand(final Avnir2ImageFile avnir2ImageFile) throws IOException,
IllegalCeosFormatException {
final Band band = new Band(avnir2ImageFile.getBandName(), ProductData.TYPE_UINT8,
sceneWidth, sceneHeight);
final int bandIndex = avnir2ImageFile.getBandIndex();
band.setSpectralBandIndex(bandIndex - 1);
band.setSpectralWavelength(avnir2ImageFile.getSpectralWavelength());
band.setSpectralBandwidth(avnir2ImageFile.getSpectralBandwidth());
band.setUnit(avnir2ImageFile.getGeophysicalUnit());
final double scalingFactor = leaderFile.getAbsoluteCalibrationGain(bandIndex);
final double scalingOffset = leaderFile.getAbsoluteCalibrationOffset(bandIndex);
band.setScalingFactor(scalingFactor);
band.setScalingOffset(scalingOffset);
band.setNoDataValueUsed(false);
band.setDescription("Radiance band " + avnir2ImageFile.getBandIndex());
return band;
}
代码示例来源:origin: bcdev/beam
@Override
public void initialize() throws OperatorException {
l3GeoCoding = l3Product.getGeoCoding();
l1GeoCoding = l1Product.getGeoCoding();
targetProduct = createCompatibleProduct(l1Product, "l3tol1", "L3");
Band[] l3Bands = l3Product.getBands();
for (Band sourceBand : l3Bands) {
Band targetBand = targetProduct.addBand(sourceBand.getName(), sourceBand.getDataType());
ProductUtils.copySpectralBandProperties(sourceBand, targetBand);
targetBand.setDescription(sourceBand.getDescription());
targetBand.setUnit(sourceBand.getUnit());
targetBand.setScalingFactor(sourceBand.getScalingFactor());
targetBand.setScalingOffset(sourceBand.getScalingOffset());
targetBand.setLog10Scaled(sourceBand.isLog10Scaled());
targetBand.setNoDataValueUsed(sourceBand.isNoDataValueUsed());
targetBand.setNoDataValue(sourceBand.getNoDataValue());
if (sourceBand.getFlagCoding() != null) {
FlagCoding srcFlagCoding = sourceBand.getFlagCoding();
ProductUtils.copyFlagCoding(srcFlagCoding, targetProduct);
targetBand.setSampleCoding(targetProduct.getFlagCodingGroup().get(srcFlagCoding.getName()));
}
}
}
代码示例来源:origin: bcdev/beam
@Override
public void initialize() throws OperatorException {
rrGeoCoding = rrProduct.getGeoCoding();
frsGeoCoding = frsProduct.getGeoCoding();
final int width = frsProduct.getSceneRasterWidth();
final int height = frsProduct.getSceneRasterHeight();
checkThatRRContainsFRSData(width, height);
targetProduct = new Product("L1", "L1", width, height);
Band[] srcBands = rrProduct.getBands();
for (Band sourceBand : srcBands) {
Band targetBand = targetProduct.addBand(sourceBand.getName(), sourceBand.getDataType());
ProductUtils.copySpectralBandProperties(sourceBand, targetBand);
targetBand.setDescription(sourceBand.getDescription());
targetBand.setUnit(sourceBand.getUnit());
targetBand.setScalingFactor(sourceBand.getScalingFactor());
targetBand.setScalingOffset(sourceBand.getScalingOffset());
targetBand.setLog10Scaled(sourceBand.isLog10Scaled());
targetBand.setNoDataValueUsed(sourceBand.isNoDataValueUsed());
targetBand.setNoDataValue(sourceBand.getNoDataValue());
if (sourceBand.getFlagCoding() != null) {
FlagCoding srcFlagCoding = sourceBand.getFlagCoding();
ProductUtils.copyFlagCoding(srcFlagCoding, targetProduct);
targetBand.setSampleCoding(targetProduct.getFlagCodingGroup().get(srcFlagCoding.getName()));
}
}
}
代码示例来源:origin: bcdev/beam
private Product createTestProduct() {
Product p = new Product("p", "t", SW, SH, TPRPI.createReaderInstance());
final float[] tiePoints = new float[GW * GH];
for (int j = 0; j
}
}
TiePointGrid tpg = new TiePointGrid(TIE_POINT_GRID_NAME,
GW, GH, 0.5f, 0.5f,
(SW - 1) / (float) (GW - 1), (SH - 1) / (float) (GH - 1),
tiePoints);
p.addTiePointGrid(tpg);
Band floatBand = new Band(FLOAT_BAND_NAME, ProductData.TYPE_FLOAT32, SW, SH);
p.addBand(floatBand);
Band scaledIntBand = new Band(SCALED_USHORT_BAND_NAME, ProductData.TYPE_UINT16, SW, SH);
scaledIntBand.setScalingFactor(SFAC);
scaledIntBand.setScalingOffset(SOFF);
p.addBand(scaledIntBand);
Band syntFloatBand = new Band(BUFFERED_FLOAT_BAND_NAME, ProductData.TYPE_FLOAT32, SW, SH);
syntFloatBand.ensureRasterData();
p.addBand(syntFloatBand);
VirtualBand virtBand = new VirtualBand(VIRT_BAND_NAME, ProductData.TYPE_FLOAT32, SW, SH, VIRT_BAND_EXPR);
p.addBand(virtBand);
return p;
}
代码示例来源:origin: bcdev/beam
@Test
public void testWriteReadBeamMetadata() throws IOException {
final Band expectedBand = outProduct.getBand("int16");
expectedBand.setDescription("Danger");
expectedBand.setUnit("Voltage");
expectedBand.setScalingFactor(0.7);
expectedBand.setScalingOffset(100);
expectedBand.setLog10Scaled(true);
expectedBand.setNoDataValue(12.5);
expectedBand.setNoDataValueUsed(true);
final Product inProduct = writeReadProduct();
assertEquals(outProduct.getName(), inProduct.getName());
assertEquals(outProduct.getProductType(), inProduct.getProductType());
assertEquals(outProduct.getNumBands(), inProduct.getNumBands());
final Band actualBand = inProduct.getBandAt(0);
assertEquals(expectedBand.getName(), actualBand.getName());
assertEquals(expectedBand.getDescription(), actualBand.getDescription());
assertEquals(expectedBand.getUnit(), actualBand.getUnit());
assertEquals(expectedBand.getDataType(), actualBand.getDataType());
assertEquals(expectedBand.getScalingFactor(), actualBand.getScalingFactor(), 1.0e-6);
assertEquals(expectedBand.getScalingOffset(), actualBand.getScalingOffset(), 1.0e-6);
assertEquals(expectedBand.isLog10Scaled(), actualBand.isLog10Scaled());
assertEquals(expectedBand.getNoDataValue(), actualBand.getNoDataValue(), 1.0e-6);
assertEquals(expectedBand.isNoDataValueUsed(), actualBand.isNoDataValueUsed());
}