/** * Gets the product raster of a single banded view. * * @return the product raster, in case of a 3-banded RGB view it returns the first raster. * * @see #isRGB() */ public RasterDataNode getRaster() { return getSceneImage().getRasters()[0]; }
/** * Gets all rasters of this view. * * @return all rasters of this view, array size is either 1 or 3 (RGB) */ public RasterDataNode[] getRasters() { return getSceneImage().getRasters(); }
/** * Gets the product raster with the specified index. * * @param index the zero-based product raster index * @return the product raster with the given index */ public RasterDataNode getRaster(int index) { return getSceneImage().getRasters()[index]; }
/** * Gets the number of raster datasets. * * @return the number of raster datasets, always {@code 1} for single banded palette images or {@code 3} * for RGB images */ public int getNumRasters() { return getSceneImage().getRasters().length; }
public boolean isRGB() { return getSceneImage().getRasters().length >= 3; }
for (int i = 0; i < getSceneImage().getRasters().length; i++) { final RasterDataNode raster = getSceneImage().getRasters()[i]; if (raster instanceof RGBChannel) { RGBChannel rgbChannel = (RGBChannel) raster; rgbChannel.dispose(); sceneImage.getRasters()[i] = null;
private Layer createBaseImageLayer() { final Layer layer; if (getRasters().length == 1) { final RasterImageLayerType type = LayerTypeRegistry.getLayerType(RasterImageLayerType.class); layer = type.createLayer(getRaster(), coloredBandImageMultiLevelSource); } else { final RgbImageLayerType type = LayerTypeRegistry.getLayerType(RgbImageLayerType.class); layer = type.createLayer(getRasters(), coloredBandImageMultiLevelSource); } layer.setName(getName()); layer.setVisible(true); layer.setId(ProductSceneView.BASE_IMAGE_LAYER_ID); applyBaseImageLayerStyle(configuration, layer); return layer; }
public void productSceneViewSelected(@NonNull ProductSceneView selectedSceneView) { selectedSceneView.addPropertyChangeListener(ProductSceneView.PROPERTY_NAME_IMAGE_INFO, this.imageInfoChangeListener); BrightnessContrastData brightnessContrastData = this.visibleProductScenes.get(selectedSceneView); if (brightnessContrastData == null) { RasterDataNode[] rasterDataNodes = selectedSceneView.getSceneImage().getRasters(); ImageInfo initialImageInfo = selectedSceneView.getImageInfo().clone(); brightnessContrastData = new BrightnessContrastData(initialImageInfo); for (int i=0; i<rasterDataNodes.length; i++) { ImageInfo nodeImageInfo = rasterDataNodes[i].getImageInfo().clone(); brightnessContrastData.putImageInfo(rasterDataNodes[i], nodeImageInfo); } this.visibleProductScenes.put(selectedSceneView, brightnessContrastData); } RGBChannelDef initialRGBChannelDef = brightnessContrastData.getInitialImageInfo().getRgbChannelDef(); boolean enableSaturationPanel = (initialRGBChannelDef != null); this.saturationPanel.setEnabled(enableSaturationPanel); refreshSliderValues(brightnessContrastData); }
RasterDataNode[] rasterDataNodes = selectedSceneView.getSceneImage().getRasters();