private static void copyBandData(Mask[] selectedMasks, Product targetProduct) { for (Mask mask : selectedMasks) { Band band = createBandCopy(targetProduct, mask); band.setSourceImage(mask.getSourceImage()); } }
private static void reprojectBandData(Mask[] selectedMasks, Product sourceProduct, Product targetProduct) { final Map<String, Object> projParameters = Collections.emptyMap(); Map<String, Product> projProducts = new HashMap<>(); projProducts.put("source", sourceProduct); projProducts.put("collocateWith", targetProduct); Product reprojectedProduct = GPF.createProduct("Reproject", projParameters, projProducts); for (Mask mask : selectedMasks) { Band band = createBandCopy(targetProduct, mask); MultiLevelImage image = reprojectedProduct.getMaskGroup().get(mask.getName()).getSourceImage(); band.setSourceImage(image); } }
private Rectangle2D handleImageMask(Mask mask, AffineTransform i2m) { RenderedImage image = mask.getSourceImage().getImage(0); final int minTileX = image.getMinTileX(); final int minTileY = image.getMinTileY();
setValues(spec); }); int polygonLength = ((VectorDataMaskOpImage) (product.getMaskGroup().get("geometry").getSourceImage().getImage(0))).getVectorDataNode().getFeatureCollection().toArray().length; for (int polygonIndex = 0; polygonIndex < polygonLength; polygonIndex++) { try { SimpleFeatureImpl simpleFeatImp = ((SimpleFeatureImpl) ((VectorDataMaskOpImage) (product.getMaskGroup().get("geometry").getSourceImage().getImage(0))).getVectorDataNode().getFeatureCollection().toArray()[polygonIndex]); Polygon pol = (Polygon) simpleFeatImp.getAttribute(0); if (pol != null) {
RenderedImage maskImage = mask.getSourceImage(); if (maskImage == null) { Dialogs.showError(Bundle.CTL_ComputeMaskAreaAction_DialogTitle(),
final RenderedImage maskImage = mask.getSourceImage(); if (maskImage == null) { Dialogs.showError(Bundle.CTL_ExportMaskPixelsAction_DialogTitle(),
private void copyMasks(Product sourceProduct, Product targetProduct, String...bandNames) { if (isSentinelProduct(sourceProduct)) { final ProductNodeGroup<Mask> sourceMaskGroup = sourceProduct.getMaskGroup(); int nodeCount = sourceMaskGroup.getNodeCount(); for (int i = 0; i < nodeCount; i++) { final Mask mask = sourceMaskGroup.get(i); String maskName = mask.getName(); if (!targetProduct.getMaskGroup().contains(maskName) && StringHelper.endsWithIgnoreCase(maskName, bandNames)) { if (mask.getImageType().transferMask(mask, targetProduct) == null) { Mask targetMask = new Mask(maskName, mask.getRasterWidth(), mask.getRasterHeight(), mask.getImageType()); ProductUtils.copyRasterDataNodeProperties(mask, targetMask); targetMask.setSourceImage(mask.getSourceImage()); targetProduct.getMaskGroup().add(targetMask); } } } } else { final ProductNodeGroup<Mask> sourceMaskGroup = sourceProduct.getMaskGroup(); for (int i = 0; i < sourceMaskGroup.getNodeCount(); i++) { final Mask mask = sourceMaskGroup.get(i); if (!targetProduct.getMaskGroup().contains(mask.getName())) { mask.getImageType().transferMask(mask, targetProduct); } } } }