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:[email protected]]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user
------------------------------------------------------------------------------
_______________________________________________
Lcms-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user