private void setImageInfoCopy(ImageInfo imageInfo) { this.imageInfo = imageInfo.createDeepCopy(); }
private void copyImageInfo(RasterDataNode sourceRaster, RasterDataNode targetRaster) { final ImageInfo imageInfo; if (sourceRaster.getImageInfo() != null) { imageInfo = sourceRaster.getImageInfo().createDeepCopy(); targetRaster.setImageInfo(imageInfo); } }
private void exchangeRasterInProductSceneView(RasterDataNode nextRaster) { // todo use a real ProgressMonitor final RasterDataNode currentRaster = currentView.getRaster(); final ImageInfo imageInfoClone = currentRaster.getImageInfo(ProgressMonitor.NULL).createDeepCopy(); nextRaster.setImageInfo(imageInfoClone); currentView.setRasters(new RasterDataNode[]{nextRaster}); currentView.setImageInfo(imageInfoClone.createDeepCopy()); VisatApp.getApp().getSelectedInternalFrame().setTitle(nextRaster.getDisplayName()); }
private void adjustImageInfos(ProductNodeEvent event) { final ProductNode node = event.getSourceNode(); if (isValidProductNode(node)) { final RasterDataNode raster = (RasterDataNode) node; final ImageLayer baseImageLayer = currentView.getBaseImageLayer(); final ImageInfo imageInfo = raster.getImageInfo(); if (baseImageLayer instanceof BlendImageLayer) { BlendImageLayer blendLayer = (BlendImageLayer) baseImageLayer; blendLayer.getBlendMultiLevelSource().setImageInfo(imageInfo.createDeepCopy()); } } } }
private void adjustImageInfos(RasterDataNode raster) { if (!isAdjustingImageInfos) { try { isAdjustingImageInfos = true; final String variableName = AbstractTimeSeries.rasterToVariableName(raster.getName()); final List<Band> bandList = getBandsForVariable(variableName); final ImageInfo imageInfo = raster.getImageInfo(ProgressMonitor.NULL); if (imageInfo != null) { for (Band band : bandList) { if (band != raster) { band.setImageInfo(imageInfo.createDeepCopy()); } } } } finally { isAdjustingImageInfos = false; } } }
private void addSpecifiedBandOfGivenProduct(String nodeName, Product product) { if (isProductCompatible(product, nodeName)) { final RasterDataNode raster = product.getRasterDataNode(nodeName); TimeCoding rasterTimeCoding = GridTimeCoding.create(product); final ProductData.UTC rasterStartTime = rasterTimeCoding.getStartTime(); final ProductData.UTC rasterEndTime = rasterTimeCoding.getEndTime(); Guardian.assertNotNull("rasterStartTime", rasterStartTime); final String bandName = variableToRasterName(nodeName, rasterTimeCoding); if (!tsProduct.containsBand(bandName)) { // band not already contained if (isAutoAdjustingTimeCoding() || !isTimeCodingSet()) { // automatically setting time coding // OR // first band to add to time series; time bounds of this band will be used // as ts-product's time bounds, no matter if auto adjust is true or false autoAdjustTimeInformation(rasterStartTime, rasterEndTime); } if (getTimeCoding().contains(rasterTimeCoding)) { // add only bands which are in the time bounds final Band addedBand = addBand(raster, rasterTimeCoding, bandName); final List<Band> bandsForVariable = getBandsForVariable(nodeName); if (!bandsForVariable.isEmpty()) { final ImageInfo imageInfo = bandsForVariable.get(0).getImageInfo(ProgressMonitor.NULL); addedBand.setImageInfo(imageInfo.createDeepCopy()); } } // todo no bands added message } } }
targetBand.setImageInfo(sourceImageInfo.createDeepCopy());
destBand.setImageInfo(sourceImageInfo.createDeepCopy());