All, excuse me, not all that important and I didn't follow the details of the previous discussion. I didn't understand why the pow() function might have any issues with negative values. pow(abs(x)) == pow(x) or where is my thought mistake?
-----Original Message----- From: Kevin Wheatley [mailto:kevin.j.wheat...@gmail.com] Sent: Mittwoch, 17. August 2016 11:05 To: LCMS mailing list Subject: Re: [Lcms-user] Negative channel values are clipped upon floating point conversions to profiles with true gamma TRCs besides the cases already covered with gamut mapping etc, you can also get "negative" values due to uncertainty of where black is. Take for example the case of a digital sensor in a camera, if you capture with the lens cap on, noise will mean you will get a range of values about a mean value, if this is value considered as 0 then there will be some pixels where the value is less than zero, throwing away this by clipping degrades the quality of the images. on the subject of extending/extrapolating trc, one approach is to mirror the function similar to Elle's suggestion using temp = pow(abs(x)) out = copysign(temp, x) this tends to be reasonable as it gives a continuous gradient. Kevin ------------------------------------------------------------------------------ _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user ------------------------------------------------------------------------------ _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user