/** * */ package fr.unistra.pelican.demos; import fr.unistra.pelican.Image; import fr.unistra.pelican.algorithms.histogram.GammaCompression; import fr.unistra.pelican.algorithms.histogram.HistogramCorrection; import fr.unistra.pelican.algorithms.histogram.HistogramCorrection.MultiBandPolicy; import fr.unistra.pelican.algorithms.io.ImageLoader; import fr.unistra.pelican.algorithms.visualisation.MViewer; import fr.unistra.pelican.gui.MultiViews.MultiView; import fr.unistra.pelican.gui.MultiViews.View; import fr.unistra.pelican.util.colour.REC709GammaCompressionModel; import fr.unistra.pelican.util.colour.SRGBGammaCompressionModel; import fr.unistra.pelican.util.colour.SimpleGammaCompressionModel; /** * @author Benjamin Perret * */ public class GammaCompressionDemo { /** * @param args */ public static void main(String[] args) { Image im1=ImageLoader.exec("samples/AstronomicalImagesFITS/PGC0035538_i.fits"); Image im2=ImageLoader.exec("samples/AstronomicalImagesFITS/PGC0035538_r.fits"); Image im3=ImageLoader.exec("samples/AstronomicalImagesFITS/PGC0035538_g.fits"); Image im=im1.newInstance(im1.xdim, im1.ydim, 1, 1, 3); im.setImage2D(im1, 0, 0, 0); im.setImage2D(im2, 0, 0, 1); im.setImage2D(im3, 0, 0, 2); im=HistogramCorrection.exec(im, 0.999,HistogramCorrection.STRETCH_NOT_USE,MultiBandPolicy.Median); Image correct1=GammaCompression.exec(im, new SimpleGammaCompressionModel()); Image correct2=GammaCompression.exec(im, new SRGBGammaCompressionModel()); Image correct3=GammaCompression.exec(im, new REC709GammaCompressionModel()); MultiView mv=MViewer.exec(); View v=mv.add(im,"No correction"); v.setAutoCorrect(false); v.setScaleResult(false); v=mv.add(correct1,"Simple Compression"); v.setAutoCorrect(false); v.setScaleResult(false); v=mv.add(correct2,"sRGB Compression"); v.setAutoCorrect(false); v.setScaleResult(false); v=mv.add(correct3,"REC709 Compression"); v.setAutoCorrect(false); v.setScaleResult(false); mv.lockAllViews(); } }