/** * */ package fr.unistra.pelican.util.colour; /** * This is the standard sRGB compression model for the standard sRGC ICC profile. * * @author Benjamin Perret * */ public class SRGBGammaCompressionModel extends GammaCompressionModel { private double gamma=2.4; private double gammaInv=1.0/gamma; private double a=12.92; private double bb=0.055; private double it=0.00304; /** * */ public SRGBGammaCompressionModel() { } /* (non-Javadoc) * @see fr.unistra.pelican.util.colour.GammaCompression#compress(double, fr.unistra.pelican.util.colour.GammaCompression.Band) */ @Override public double compress(double value, Band b) { return (value<it)?a*value:((1.0+bb)*Math.pow(value,gammaInv)-bb); } }