public void updateForm() { setNoDataColor(getImageInfo().getNoDataColor()); if (hasHistogramMatching) { setHistogramMatching(getImageInfo().getHistogramMatching()); } }
private static ImageInfo createImageInfo(Element bandStatisticsElem) { final ColorPaletteDef.Point[] points = getColorPalettePoints(bandStatisticsElem); final int numColors = getNumColors(bandStatisticsElem); final ImageInfo imageInfo = new ImageInfo(new ColorPaletteDef(points, numColors)); final Element noDataElem = bandStatisticsElem.getChild(DimapProductConstants.TAG_NO_DATA_COLOR); if (noDataElem != null) { imageInfo.setNoDataColor(createColor(noDataElem)); } final Element histomElem = bandStatisticsElem.getChild(DimapProductConstants.TAG_HISTOGRAM_MATCHING); if (histomElem != null && histomElem.getValue() != null) { imageInfo.setHistogramMatching(ImageInfo.getHistogramMatching(histomElem.getValue())); } return imageInfo; }
private RenderedImage createColored1BandImage(RasterDataNode raster, ImageInfo imageInfo, int level) { Assert.notNull(raster, "raster"); if (imageInfo == null) { imageInfo = raster.getImageInfo(ProgressMonitor.NULL); } Assert.notNull(imageInfo, "imageInfo"); RenderedImage sourceImage = getSourceImage(raster, level); RenderedImage validMaskImage = getValidMaskImage(raster, level); PlanarImage image = createByteIndexedImage(raster, sourceImage, imageInfo); image = createMatchCdfImage(image, imageInfo.getHistogramMatching(), new Stx[]{raster.getStx()}); image = createLookupRgbImage(raster, image, validMaskImage, imageInfo); return image; }
private PlanarImage createColored3BandImage(RasterDataNode[] rasters, ImageInfo rgbImageInfo, int level) { Assert.notNull(rasters, "rasters"); Assert.notNull(rgbImageInfo, "rgbImageInfo"); RenderedImage[] images = new RenderedImage[rasters.length]; RenderedImage[] validMaskImages = new RenderedImage[rasters.length]; Stx[] stxs = new Stx[rasters.length]; for (int i = 0; i < rasters.length; i++) { RasterDataNode raster = rasters[i]; stxs[i] = raster.getStx(); RenderedImage sourceImage = getSourceImage(raster, level); images[i] = createByteIndexedImage(raster, sourceImage, rgbImageInfo.getRgbChannelDef().getMinDisplaySample(i), rgbImageInfo.getRgbChannelDef().getMaxDisplaySample(i), rgbImageInfo.getRgbChannelDef().getGamma(i)); validMaskImages[i] = getValidMaskImage(raster, level); } // todo - correctly handle no-data color (nf, 10.10.2008) return createMergeRgbaOp(images, validMaskImages, rgbImageInfo.getHistogramMatching(), stxs); }
imageInfo.setHistogramMatching(ImageInfo.getHistogramMatching(_histogramMatching)); image = ProductUtils.createRgbImage(bands, imageInfo, ProgressMonitor.NULL); if (image.getColorModel().hasAlpha() && "BMP".equalsIgnoreCase(_formatName)) {
image = applyHistogramMatching(image, imageInfo.getHistogramMatching()); pm.worked(5); checkCanceled(pm);
band.getImageInfo().getNoDataColor(), sXmlW); sXmlW.printLine(indent + 2, DimapProductConstants.TAG_HISTOGRAM_MATCHING, band.getImageInfo().getHistogramMatching().toString());
image = applyHistogramMatching(image, imageInfo.getHistogramMatching()); pm.worked(10); checkCanceled(pm);
public void testImageInfo1Band() { final ColorPaletteDef cpd = new ColorPaletteDef(new ColorPaletteDef.Point[]{ new ColorPaletteDef.Point(100, Color.ORANGE), new ColorPaletteDef.Point(200, Color.MAGENTA), new ColorPaletteDef.Point(500, Color.BLUE), new ColorPaletteDef.Point(600, Color.WHITE) }); ImageInfo imageInfo = new ImageInfo(cpd); assertSame(cpd, imageInfo.getColorPaletteDef()); assertEquals(null, imageInfo.getRgbChannelDef()); assertEquals(4, imageInfo.getColorComponentCount()); assertEquals(ImageInfo.NO_COLOR, imageInfo.getNoDataColor()); assertEquals(ImageInfo.HistogramMatching.None, imageInfo.getHistogramMatching()); assertNotNull(imageInfo.getColors()); assertEquals(4, imageInfo.getColors().length); assertEquals(Color.ORANGE, imageInfo.getColors()[0]); assertEquals(Color.MAGENTA, imageInfo.getColors()[1]); assertEquals(Color.BLUE, imageInfo.getColors()[2]); assertEquals(Color.WHITE, imageInfo.getColors()[3]); imageInfo.setNoDataColor(Color.RED); assertEquals(Color.RED, imageInfo.getNoDataColor()); assertEquals(3, imageInfo.getColorComponentCount()); imageInfo.setHistogramMatching(ImageInfo.HistogramMatching.Equalize); assertEquals(ImageInfo.HistogramMatching.Equalize, imageInfo.getHistogramMatching()); }
public void testImageInfo3Bands() { final RGBChannelDef rgbcd = new RGBChannelDef(new String[]{ "radiance_13", "radiance_5", "radiance_2" }); ImageInfo imageInfo = new ImageInfo(rgbcd); assertEquals(null, imageInfo.getColorPaletteDef()); assertSame(rgbcd, imageInfo.getRgbChannelDef()); assertEquals(4, imageInfo.getColorComponentCount()); imageInfo.setNoDataColor(Color.RED); assertEquals(Color.RED, imageInfo.getNoDataColor()); assertEquals(3, imageInfo.getColorComponentCount()); imageInfo.setHistogramMatching(ImageInfo.HistogramMatching.Normalize); assertEquals(ImageInfo.HistogramMatching.Normalize, imageInfo.getHistogramMatching()); final RGBChannelDef rgbcdAlpha = new RGBChannelDef(new String[]{ "radiance_13", "radiance_5", "radiance_2", "50.0" }); imageInfo = new ImageInfo(rgbcdAlpha); assertEquals(4, imageInfo.getColorComponentCount()); imageInfo.setNoDataColor(Color.RED); assertEquals(4, imageInfo.getColorComponentCount()); } }