private Band setInputSpecificationBand(HashMap<Product, String> map, int index ) { Map.Entry<Product, String> entry = map.entrySet().iterator().next(); Product p = entry.getKey(); return p.getBandAt(index); }
private Map<Band,String> getBandTiles(HashMap<Product, String> tiles, int index) { HashMap<Band, String> map = new HashMap<>(); for (Map.Entry<Product,String> entry: tiles.entrySet() ) { map.put(entry.getKey().getBandAt(index), entry.getValue()); } return map; }
private void setInvalidTargetSamples(Map<Band, Tile> targetTiles) { for (Tile.Pos pos : targetTiles.get(targetProduct.getBandAt(0))) { setInvalidTargetSamples(targetTiles, pos.x, pos.y); } }
private static void addBandNameRefs(Product product, String namePrefix, List<String> list) { for (int j = 0; j < product.getNumBands(); j++) { Band band = product.getBandAt(j); list.add(namePrefix + band.getName()); } }
public static double getNoDataValue(final File extFile) { try { final Product product = CommonReaders.readProduct(extFile); if (product != null) return product.getBandAt(0).getNoDataValue(); } catch (Exception e) { // } return 0; } }
private static boolean isOrtorectifiable(Product product) { return product.getNumBands() > 0 && product.getBandAt(0).canBeOrthorectified(); }
private int getProductLevels() { Map.Entry<Product, String> entryFirst = this.tilesMultiSpectral.entrySet().iterator().next(); int levels = entryFirst.getKey().getBandAt(0).getSourceImage().getModel().getLevelCount(); int levelsMultiSpectral = getLevel(this.tilesMultiSpectral, levels); int levelsPanchromatic = getLevel(this.tilesPanchromatic, levels); if (levelsMultiSpectral< levels){ levels = levelsMultiSpectral; } else if (levelsPanchromatic < levels) { levels = levelsPanchromatic; } if (levels > product.getNumResolutionsMax()) { product.setNumResolutionsMax(levels); } return levels; }
private void addTiePointGridsToProduct(final Variable[] variables) throws IOException { // for (Variable variable : variables) { // final int rank = variable.getRank(); // final int gridWidth = variable.getDimension(rank - 1).getLength(); // int gridHeight = variable.getDimension(rank - 2).getLength(); // if (rank >= 3 && gridHeight <= 1) // gridHeight = variable.getDimension(rank - 3).getLength(); // final TiePointGrid tpg = NetCDFUtils.createTiePointGrid(variable, gridWidth, gridHeight, // product.getSceneRasterWidth(), product.getSceneRasterHeight()); // // product.addTiePointGrid(tpg); // } final MetadataElement bandElem = getBandElement(product.getBandAt(0)); addIncidenceAnglesSlantRangeTime(product, bandElem); addGeocodingFromMetadata(product, bandElem); }
private void addSlantRangeToFirstPixel() { final MetadataElement absRoot = AbstractMetadata.getAbstractedMetadata(product); final MetadataElement bandElem = getBandElement(product.getBandAt(0)); if (bandElem != null) { final double slantRangeTime = bandElem.getAttributeDouble("Zero_Doppler_Range_First_Time", 0); //s AbstractMetadata.setAttribute(absRoot, AbstractMetadata.slant_range_to_first_pixel, slantRangeTime * Constants.halfLightSpeed); } }
private void addSlantRangeToFirstPixel() { final MetadataElement absRoot = AbstractMetadata.getAbstractedMetadata(product); final MetadataElement bandElem = getBandElement(product.getBandAt(0)); if (bandElem != null) { final double slantRangeTime = bandElem.getAttributeDouble("Zero_Doppler_Range_First_Time", 0); //s AbstractMetadata.setAttribute(absRoot, AbstractMetadata.slant_range_to_first_pixel, slantRangeTime * Constants.halfLightSpeed); } }
private double[] computeSourceProductMaximumResolution(Product sourceProduct) { AffineTransform affTransform = sourceProduct.getBandAt(0).getSourceImage().getModel().getImageToModelTransform(0); double[] productResolution = new double[] {affTransform.getScaleX(),Math.abs(affTransform.getScaleY())}; for(int index = 0;index<sourceProduct.getNumBands();index++) { affTransform = sourceProduct.getBandAt(index).getSourceImage().getModel().getImageToModelTransform(0); if(( affTransform.getScaleX() < productResolution[0])||(Math.abs(affTransform.getScaleY()) < productResolution[1])){ productResolution[0] = affTransform.getScaleX(); productResolution[1] = Math.abs(affTransform.getScaleY()); } } return productResolution; }
private double computeTargetStepY(Product product){ OptionalDouble result = Arrays.stream(product.getBands()) .mapToDouble(band -> band.getSourceImage().getModel().getImageToModelTransform(0).getScaleY()) .min(); if (result.isPresent()) { double signum = Math.signum(product.getBandAt(0).getSourceImage().getModel().getImageToModelTransform(0).getScaleY()); return signum * result.getAsDouble(); } else { return this.pixelSizeY; } }
public SpectraDataSentinel1(final Product product) { super(product); //get general metadata final MetadataElement root = AbstractMetadata.getOriginalProductMetadata(product); annotation = root.getElement("annotation"); numRecords = annotation.getNumElements() - 1; final RasterDataNode rasterNode = product.getBandAt(0); recordLength = rasterNode.getRasterWidth() * rasterNode.getRasterHeight(); }
public static Band createBooleanExpressionBand(String expression, Product sourceProduct) { BandMathsOp.BandDescriptor bandDescriptor = new BandMathsOp.BandDescriptor(); bandDescriptor.name = "band1"; bandDescriptor.expression = expression; bandDescriptor.type = ProductData.TYPESTRING_INT8; BandMathsOp bandMathsOp = new BandMathsOp(); bandMathsOp.setParameterDefaultValues(); bandMathsOp.setSourceProduct(sourceProduct); bandMathsOp.setTargetBandDescriptors(bandDescriptor); return bandMathsOp.getTargetProduct().getBandAt(0); }
private void resetBandTableModel() { bandModel.clear(); if (currentRaster != null) { final int numBands = currentProduct.getNumBands(); for (int i = 0; i < numBands; i++) { final Band band = currentProduct.getBandAt(i); if (shouldDisplayBand(band)) { bandModel.addRow(band.getName(), "", band.getUnit()); } } } }
@Test public void testLinearTodB() { final Product product = createTestProduct(16, 4); final Band band1 = product.getBandAt(0); LinearTodBAction.convert(product, band1, true); assertTrue(product.getNumBands() == 2); final Band band2 = product.getBandAt(1); assertTrue(band2.getUnit().endsWith(dBStr)); assertTrue(band2.getName().endsWith(dBStr)); }
@Test public void testAmplitudeToIntensity() { final Product product = createTestProduct("Amplitude", Unit.AMPLITUDE, 16, 4); final Band band1 = product.getBandAt(0); AmplitudeToIntensityAction.convert(product, band1, false); assertTrue(product.getNumBands() == 2); final Band band2 = product.getBandAt(1); assertTrue(band2.getUnit().contains(Unit.INTENSITY)); assertTrue(band2.getName().endsWith("Intensity")); }
@Test public void testdIntensityToAmplitude() { final Product product = createTestProduct("Intensity", Unit.INTENSITY, 16, 4); final Band band1 = product.getBandAt(0); AmplitudeToIntensityAction.convert(product, band1, true); assertTrue(product.getNumBands() == 2); final Band band2 = product.getBandAt(1); assertTrue(band2.getUnit().equals(Unit.AMPLITUDE)); assertTrue(band2.getName().equals("Amplitude")); }
@Test public void testdBToLinear() { final Product product = createTestProduct(16, 4); final Band band1 = product.getBandAt(0); band1.setName(band1.getName() + dBStr); band1.setUnit(band1.getUnit() + dBStr); LinearTodBAction.convert(product, band1, false); assertTrue(product.getNumBands() == 2); final Band band2 = product.getBandAt(1); assertTrue(band2.getUnit().equals(Unit.AMPLITUDE)); assertTrue(band2.getName().equals("Amplitude")); }
@Override protected Layer createLayer(LayerType layerType) throws Exception { final PropertySet configuration = layerType.createLayerConfig(null); final Band raster = getProductManager().getProduct(0).getBandAt(0); configuration.setValue(RasterImageLayerType.PROPERTY_NAME_RASTER, raster); return layerType.createLayer(null, configuration); } }