private ProductSceneImage createProductSceneImage(final RasterDataNode raster, ProductSceneView existingView, com.bc.ceres.core.ProgressMonitor pm) { Debug.assertNotNull(raster); Debug.assertNotNull(pm); try { pm.beginTask("Creating image...", 1); ProductSceneImage sceneImage; if (existingView != null) { sceneImage = new ProductSceneImage(raster, existingView); } else { sceneImage = new ProductSceneImage(raster, SnapApp.getDefault().getPreferencesPropertyMap(), SubProgressMonitor.create(pm, 1)); } sceneImage.initVectorDataCollectionLayer(); sceneImage.initMaskCollectionLayer(); return sceneImage; } finally { pm.done(); } }
private ProductSceneImage createProductSceneImageRGB(String name, final Product product, String[] rgbaExpressions, ProgressMonitor pm) throws Exception { Band[] rgbBands = null; boolean errorOccurred = false; ProductSceneImage productSceneImage = null; try { pm.beginTask("Creating RGB image...", 2); rgbBands = allocateRgbBands(product, rgbaExpressions); productSceneImage = new ProductSceneImage(name, rgbBands[0], rgbBands[1], rgbBands[2], SnapApp.getDefault().getPreferencesPropertyMap(), SubProgressMonitor.create(pm, 1)); productSceneImage.initVectorDataCollectionLayer(); productSceneImage.initMaskCollectionLayer(); } catch (Exception e) { errorOccurred = true; throw e; } finally { pm.done(); if (rgbBands != null) { releaseRgbBands(rgbBands, errorOccurred); } } return productSceneImage; }
private static ProductSceneImage createProductSceneImageHSV(final String name, final Product product, final String[] hsvExpressions, final ProgressMonitor pm) throws Exception { UIUtils.setRootFrameWaitCursor(SnapApp.getDefault().getMainFrame()); Band[] rgbBands = null; boolean errorOccured = false; ProductSceneImage productSceneImage = null; try { pm.beginTask("Creating HSV image...", 2); final String[] rgbaExpressions = convertHSVToRGBExpressions(hsvExpressions); rgbBands = OpenRGBImageViewAction.allocateRgbBands(product, rgbaExpressions); productSceneImage = new ProductSceneImage(name, rgbBands[0], rgbBands[1], rgbBands[2], SnapApp.getDefault().getPreferencesPropertyMap(), SubProgressMonitor.create(pm, 1)); productSceneImage.initVectorDataCollectionLayer(); productSceneImage.initMaskCollectionLayer(); } catch (Exception e) { errorOccured = true; throw e; } finally { pm.done(); if (rgbBands != null) { OpenRGBImageViewAction.releaseRgbBands(rgbBands, errorOccured); } } return productSceneImage; }