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

Reply via email to