private void createTargetProduct() { targetProduct = new Product(productName, productType, tarRasterWidth, tarRasterHeight); targetProduct.setPreferredTileSize(new Dimension(610 / scale, 610 / scale)); createTargetProductBands(); setTargetProduct(targetProduct); }
private void addDetectorBands(Product product, Map<String, L1BBandInfo> stringBandInfoMap, MultiLevelImageFactory mlif) throws IOException { product.setPreferredTileSize(S2Config.DEFAULT_JAI_TILE_SIZE, S2Config.DEFAULT_JAI_TILE_SIZE); product.setNumResolutionsMax(getConfig().getTileLayout(getProductResolution().resolution).numResolutions); product.setAutoGrouping("D01:D02:D03:D04:D05:D06:D07:D08:D09:D10:D11:D12"); ArrayList<String> bandIndexes = new ArrayList<>(stringBandInfoMap.keySet()); Collections.sort(bandIndexes); if (bandIndexes.isEmpty()) { throw new IOException("No valid bands found."); } for (String bandIndex : bandIndexes) { L1BBandInfo tileBandInfo = stringBandInfoMap.get(bandIndex); if (isMultiResolution() || tileBandInfo.getBandInformation().getResolution() == this.getProductResolution()) { TileLayout thisBandTileLayout = tileBandInfo.getImageLayout(); TileLayout productTileLayout = getConfig().getTileLayout(getProductResolution()); float factorX = (float) productTileLayout.width / thisBandTileLayout.width; float factorY = (float) productTileLayout.height / thisBandTileLayout.height; Dimension dimension = new Dimension(Math.round(product.getSceneRasterWidth() / factorX), Math.round(product.getSceneRasterHeight() / factorY)); Band band = addBand(product, tileBandInfo, dimension); band.setDescription(tileBandInfo.getBandInformation().getDescription()); band.setSourceImage(mlif.createSourceImage(tileBandInfo)); } } }
@Override public void initialize() throws OperatorException { Product product = new Product("N", "T", 16, 16); product.addBand("B1", ProductData.TYPE_FLOAT32); product.addBand("B2", ProductData.TYPE_FLOAT32); product.setPreferredTileSize(4, 4); //System.out.println("product = " + product); target = product; }
tileSize = ImageManager.getPreferredTileSize(bandProduct); product.setPreferredTileSize(tileSize); imageLayout.setTileWidth(tileSize.width); imageLayout.setTileHeight(tileSize.height);
@Override public void initialize() { validateSourceProducts(); if (StringHelper.isNullOrEmpty(this.landCoverName)) { throw new OperatorException("No land cover name specified."); } if (StringHelper.isNullOrEmpty(this.landCoverMapIndices)) { throw new OperatorException("No land cover map indices specified."); } this.currentProductBandsNames = findBandNames(this.currentSourceProduct); this.previousProductBandsNames = findBandNames(this.previousSourceProduct); int sceneWidth = this.currentSourceProduct.getSceneRasterWidth(); int sceneHeight = this.currentSourceProduct.getSceneRasterHeight(); Dimension tileSize = JAI.getDefaultTileSize(); this.targetProduct = new Product("ForestCoverChange", this.currentSourceProduct.getProductType(), sceneWidth, sceneHeight); this.targetProduct.setPreferredTileSize(tileSize); ProductUtils.copyGeoCoding(this.currentSourceProduct, this.targetProduct); Band targetBand = new Band("band_1", ProductData.TYPE_INT32, sceneWidth, sceneHeight); this.targetProduct.addBand(targetBand); this.threadCount = Runtime.getRuntime().availableProcessors() - 1; this.threadPool = Executors.newCachedThreadPool(); }
targetProduct.setPreferredTileSize(new Dimension(width, height));
product.getMetadataRoot().addElement(nitfMetadata.getMetadataRoot()); product.setPreferredTileSize(getPreferredTileSize());
private void createTargetProduct() { targetProduct = new Product(sourceProduct.getName() + PRODUCT_SUFFIX, sourceProduct.getProductType(), targetImageWidth, targetImageHeight); addSelectedBands(); ProductUtils.copyMetadata(sourceProduct, targetProduct); //ProductUtils.copyTiePointGrids(sourceProduct, targetProduct); ProductUtils.copyFlagCodings(sourceProduct, targetProduct); //ProductUtils.copyGeoCoding(sourceProduct, targetProduct); targetProduct.setStartTime(sourceProduct.getStartTime()); targetProduct.setEndTime(sourceProduct.getEndTime()); addGeoCoding(); updateTargetProductMetadata(); final int sourceImageTileWidth = sourceImageWidth; final int sourceImageTileHeight = Math.min((int) (prf + 0.5), sourceImageHeight); final int targetImageTileWidth = (int) (sourceImageTileWidth * widthRatio + 0.5f); final int targetImageTileHeight = (int) (sourceImageTileHeight * heightRatio + 0.5f); if (usePRFTileSize) { targetProduct.setPreferredTileSize(targetImageTileWidth, targetImageTileHeight); } }
initBands(product); product.setPreferredTileSize(ImageManager.getPreferredTileSize(product));
targetProduct.setPreferredTileSize(128,128); tileSizeX = targetProduct.getPreferredTileSize().width; tileSizeY = targetProduct.getPreferredTileSize().height;
public static Product createProduct3() { int size = 10 * 1024; Product product = new Product("Test_Product_3", "Test_Type_3", size, size); product.setPreferredTileSize(512, 512); Band band1 = new Band("Big_Band_1", ProductData.TYPE_FLOAT64, product.getSceneRasterWidth(), product.getSceneRasterHeight()); Band band2 = new Band("Big_Band_2", ProductData.TYPE_FLOAT64, product.getSceneRasterWidth(), product.getSceneRasterHeight()); Band band3 = new Band("Big_Band_3", ProductData.TYPE_FLOAT64, product.getSceneRasterWidth(), product.getSceneRasterHeight()); Band band4 = new Band("Big_Band_4", ProductData.TYPE_FLOAT64, product.getSceneRasterWidth(), product.getSceneRasterHeight()); Band band5 = new Band("Big_Band_5", ProductData.TYPE_FLOAT64, product.getSceneRasterWidth(), product.getSceneRasterHeight()); band1.setSourceImage(ConstantDescriptor.create(1f * size, 1F * size, new Double[]{1.0}, null)); band2.setSourceImage(ConstantDescriptor.create(1f * size, 1F * size, new Double[]{2.0}, null)); band3.setSourceImage(ConstantDescriptor.create(1f * size, 1F * size, new Double[]{3.0}, null)); band4.setSourceImage(ConstantDescriptor.create(1f * size, 1F * size, new Double[]{4.0}, null)); band5.setSourceImage(ConstantDescriptor.create(1f * size, 1F * size, new Double[]{5.0}, null)); product.addBand(band1); product.addBand(band2); product.addBand(band3); product.addBand(band4); product.addBand(band5); product.setModified(true); double sx = 30.0 / product.getSceneRasterWidth(); AffineTransform at = new AffineTransform(); at.translate(100, 0.0); at.rotate(0.1, 15.0, 15.0); at.scale(sx, sx); product.setSceneGeoCoding(new ATGeoCoding(at)); return product; }
final int preferredTileWidth = Math.min(s2ClassifProduct.getSceneRasterWidth(), tileWidth); final int preferredTileHeight = Math.min(s2ClassifProduct.getSceneRasterHeight(), tileHeight); targetProduct.setPreferredTileSize(preferredTileWidth, preferredTileHeight); //1500 } else { targetProduct.setPreferredTileSize(s2ClassifProduct.getSceneRasterWidth(), s2ClassifProduct.getSceneRasterHeight()); searchBorderRadius = 0;
product.setPreferredTileSize(tiffProduct.getPreferredTileSize());
preferredTileSize = getPreferredTileSize(product); product.setPreferredTileSize(preferredTileSize); int numBands = tiffProduct.getNumBands(); String bandPrefix = "";
tileSize = ImageManager.getPreferredTileSize(bandProduct); product.setPreferredTileSize(tileSize);
private void addTileIndex(Product product, BandInfo bandInfo, L1bSceneDescription sceneDescription) throws IOException { product.setPreferredTileSize(S2Config.DEFAULT_JAI_TILE_SIZE, S2Config.DEFAULT_JAI_TILE_SIZE); product.setNumResolutionsMax(getConfig().getTileLayout(getProductResolution().resolution).numResolutions);
this.targetProduct.setPreferredTileSize(JAI.getDefaultTileSize());
product.setSceneGeoCoding(geoCoding); final Dimension tileSize = JAIUtils.computePreferredTileSize(width, height, 1); product.setPreferredTileSize(tileSize); product.setNumResolutionsMax(sourceProducts[0].getNumResolutionsMax()); if(sourceProducts[0].getNumBands()==1){
this.targetProduct.setPreferredTileSize(tileSize); this.targetProduct.setSceneGeoCoding(firstSourceProduct.getSceneGeoCoding());
targetProduct.setPreferredTileSize(tileSize);