private String getProductNodeDisplayName() { if (raster != null) { return raster.getDisplayName(); } else { if (product != null) { return product.getDisplayName(); } else { return ""; } } }
private String getRasterDisplayName(RasterDataNode rasterDataNode) { return multipleProducts ? rasterDataNode.getDisplayName() : rasterDataNode.getName(); }
private String getDisplayDescription(RasterDataNode rasterDataNode) { final String fullName = multipleProducts ? rasterDataNode.getDisplayName() : rasterDataNode.getName(); final StringBuilder description = new StringBuilder(); description.setLength(0); description.append(fullName); description.append(rasterDataNode.getDescription() == null ? "" : " (" + rasterDataNode.getDescription()); if (rasterDataNode instanceof Band) { if (((Band) rasterDataNode).getSpectralWavelength() > 0.0) { description.append(" ("); description.append(((Band) rasterDataNode).getSpectralWavelength()); description.append(" nm)"); } } description.append(")"); return description.toString(); }
/** * Creates a color indexed product scene for the given product raster. * * @param raster the product raster, must not be null * @param configuration a configuration * @param pm a monitor to inform the user about progress @return a color indexed product scene image */ public ProductSceneImage(RasterDataNode raster, PropertyMap configuration, ProgressMonitor pm) { this(raster.getDisplayName(), new RasterDataNode[]{raster}, configuration); coloredBandImageMultiLevelSource = ColoredBandImageMultiLevelSource.create(raster, pm); initRootLayer(); }
@Override public void nodeChanged(ProductNodeEvent event) { if (event.getSourceNode() == rasterDataNode) { if (RasterDataNode.PROPERTY_NAME_NAME.equals(event.getPropertyName())) { imageLayer.setName(rasterDataNode.getDisplayName()); } else if (imageChangingProperties.contains(event.getPropertyName())) { ColoredBandImageMultiLevelSource bandImageSource = (ColoredBandImageMultiLevelSource) imageLayer.getMultiLevelSource(); bandImageSource.setImageInfo(rasterDataNode.getImageInfo()); imageLayer.regenerate(); } } }
/** * Creates a new scene image for an existing view. * * @param raster The product raster. * @param view An existing view. */ public ProductSceneImage(RasterDataNode raster, ProductSceneView view) { this(raster.getDisplayName(), new RasterDataNode[]{raster}, view.getSceneImage().getConfiguration()); coloredBandImageMultiLevelSource = view.getSceneImage().getColoredBandImageMultiLevelSource(); initRootLayer(); }
private void showResults(MaskAreaStatistics areaStatistics) { final double roundFactor = 10000.0; final double maskAreaR = MathUtils.round(areaStatistics.getMaskArea(), roundFactor); final double meanPixelAreaR = MathUtils.round(areaStatistics.getMaskArea() / areaStatistics.getNumPixels(), roundFactor); final double pixelAreaMinR = MathUtils.round(areaStatistics.getPixelAreaMin(), roundFactor); final double pixelAreaMaxR = MathUtils.round(areaStatistics.getPixelAreaMax(), roundFactor); final JPanel content = GridBagUtils.createPanel(); final GridBagConstraints gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.anchor = GridBagConstraints.WEST; gbc.insets.right = 4; gbc.gridy = 0; gbc.weightx = 0; gbc.insets.top = 2; addField(content, gbc, "Number of Mask pixels:", String.format("%15d", areaStatistics.getNumPixels()), ""); addField(content, gbc, "Mask area:", String.format("%15.3f", maskAreaR), "km^2"); addField(content, gbc, "Mean pixel area:", String.format("%15.3f", meanPixelAreaR), "km^2"); addField(content, gbc, "Minimum pixel area:", String.format("%15.3f", pixelAreaMinR), "km^2"); addField(content, gbc, "Maximum pixel area:", String.format("%15.3f", pixelAreaMaxR), "km^2"); gbc.insets.top = 8; addField(content, gbc, "Mean earth radius:", String.format("%15.3f", areaStatistics.getEarthRadius()), "km"); final ModalDialog dialog = new ModalDialog(SnapApp.getDefault().getMainFrame(), Bundle.CTL_ComputeMaskAreaAction_DialogTitle() + " - " + mask.getDisplayName(), content, ModalDialog.ID_OK | ModalDialog.ID_HELP, getHelpCtx().getHelpID()); dialog.show(); }
private void updateTitle() { if (getCurrentView() != null) { if (getCurrentView().isRGB()) { setDisplayName(Bundle.CTL_NavigationTopComponentName() + " - " + getCurrentView().getProduct().getProductRefString() + " RGB"); } else { setDisplayName(Bundle.CTL_NavigationTopComponentName() + " - " + getCurrentView().getRaster().getDisplayName()); } } else { setDisplayName(Bundle.CTL_NavigationTopComponentName()); } }
@Override public boolean performFinish() { //allow multiple selections final TreePath[] selectionPaths = tree.getSelectionPaths(); if (selectionPaths == null) { return false; } for (TreePath treePath : selectionPaths) { final RasterDataNode rasterDataNode = (RasterDataNode) treePath.getLastPathComponent(); LayerType type = LayerTypeRegistry.getLayerType(RasterImageLayerType.class.getName()); PropertySet configuration = type.createLayerConfig(getContext().getLayerContext()); configuration.setValue(RasterImageLayerType.PROPERTY_NAME_RASTER, rasterDataNode); configuration.setValue(ImageLayer.PROPERTY_NAME_BORDER_SHOWN, false); configuration.setValue(ImageLayer.PROPERTY_NAME_BORDER_COLOR, ImageLayer.DEFAULT_BORDER_COLOR); configuration.setValue(ImageLayer.PROPERTY_NAME_BORDER_WIDTH, ImageLayer.DEFAULT_BORDER_WIDTH); configuration.setValue(ImageLayer.PROPERTY_NAME_PIXEL_BORDER_SHOWN, false); final ImageLayer imageLayer = (ImageLayer) type.createLayer(getContext().getLayerContext(), configuration); imageLayer.setName(rasterDataNode.getDisplayName()); ProductSceneView sceneView = SnapApp.getDefault().getSelectedProductSceneView(); Layer rootLayer = sceneView.getRootLayer(); rootLayer.getChildren().add(sceneView.getFirstImageLayerIndex(), imageLayer); final LayerDataHandler layerDataHandler = new LayerDataHandler(rasterDataNode, imageLayer); rasterDataNode.getProduct().addProductNodeListener(layerDataHandler); rootLayer.addListener(layerDataHandler); } return true; }