private boolean canChangeSliderCount() { ImageInfo.UncertaintyVisualisationMode uvMode = getModel().getImageInfo().getUncertaintyVisualisationMode(); return uvMode == null || uvMode == ImageInfo.UncertaintyVisualisationMode.None || uvMode == ImageInfo.UncertaintyVisualisationMode.Polychromatic_Blending || uvMode == ImageInfo.UncertaintyVisualisationMode.Polychromatic_Overlay; }
private boolean isSliderEditable(int sliderIndex) { ImageInfo.UncertaintyVisualisationMode uvMode = getModel().getImageInfo().getUncertaintyVisualisationMode(); return uvMode == null || uvMode == ImageInfo.UncertaintyVisualisationMode.None || uvMode == ImageInfo.UncertaintyVisualisationMode.Polychromatic_Blending || uvMode == ImageInfo.UncertaintyVisualisationMode.Polychromatic_Overlay || (uvMode == ImageInfo.UncertaintyVisualisationMode.Monochromatic_Blending && isLastSliderIndex(sliderIndex)); }
private boolean isSliderVisible(int sliderIndex) { if (sliderIndex == 0 || sliderIndex == getSliderCount() - 1) { return true; } ImageInfo.UncertaintyVisualisationMode uvMode = getModel().getImageInfo().getUncertaintyVisualisationMode(); return uvMode == null || uvMode == ImageInfo.UncertaintyVisualisationMode.None || uvMode == ImageInfo.UncertaintyVisualisationMode.Polychromatic_Blending || uvMode == ImageInfo.UncertaintyVisualisationMode.Polychromatic_Overlay; }
@Override public void handleRasterPropertyChange(ProductNodeEvent event, RasterDataNode raster) { final ImageInfoEditorModel model = imageInfoEditor.getModel(); if (model != null) { if (event.getPropertyName().equals(RasterDataNode.PROPERTY_NAME_STX)) { updateFormModel(parentForm.getFormModel()); } else { setLogarithmicDisplay(raster, model.getImageInfo().isLogScaled()); } } }
private Color getSliderColor(int index) { ImageInfo.UncertaintyVisualisationMode uvMode = getModel().getImageInfo().getUncertaintyVisualisationMode(); if (uvMode != null) { if (uvMode == ImageInfo.UncertaintyVisualisationMode.Transparency_Blending) { return Color.WHITE; } else if (uvMode == ImageInfo.UncertaintyVisualisationMode.Monochromatic_Blending) { return getModel().getSliderColor(getSliderCount() - 1); } } return getModel().getSliderColor(index); }
@Override public void updateFormModel(ColorFormModel formModel) { final ImageInfoEditorModel oldModel = imageInfoEditor.getModel(); final ImageInfo imageInfo = parentForm.getFormModel().getModifiedImageInfo(); final ImageInfoEditorModel newModel = new ImageInfoEditorModel1B(imageInfo); imageInfoEditor.setModel(newModel); final RasterDataNode raster = formModel.getRaster(); setLogarithmicDisplay(raster, newModel.getImageInfo().isLogScaled()); if (oldModel != null) { newModel.setHistogramViewGain(oldModel.getHistogramViewGain()); newModel.setMinHistogramViewSample(oldModel.getMinHistogramViewSample()); newModel.setMaxHistogramViewSample(oldModel.getMaxHistogramViewSample()); } if (newModel.getSliderSample(0) < newModel.getMinHistogramViewSample() || newModel.getSliderSample(newModel.getSliderCount() - 1) > newModel.getMaxHistogramViewSample()) { imageInfoEditor.computeZoomInToSliderLimits(); } discreteCheckBox.setDiscreteColorsMode(imageInfo.getColorPaletteDef().isDiscrete()); logDisplayButton.setSelected(newModel.getImageInfo().isLogScaled()); parentForm.revalidateToolViewPaneControl(); }
private void setLogarithmicDisplay(final RasterDataNode raster, final boolean logarithmicDisplay) { final ImageInfoEditorModel model = imageInfoEditor.getModel(); if (logarithmicDisplay) { final StxFactory stxFactory = new StxFactory(); final Stx stx = stxFactory .withHistogramBinCount(raster.getStx().getHistogramBinCount()) .withLogHistogram(logarithmicDisplay) .withResolutionLevel(raster.getSourceImage().getModel().getLevelCount() - 1) .create(raster, ProgressMonitor.NULL); model.setDisplayProperties(raster.getName(), raster.getUnit(), stx, POW10_SCALING); } else { model.setDisplayProperties(raster.getName(), raster.getUnit(), raster.getStx(), Scaling.IDENTITY); } model.getImageInfo().setLogScaled(logarithmicDisplay); }