On 08/11/2016 06:37 AM, Marti Maria wrote:
>
> Hi,
>
>> but would code like this make it possible to not clip when converting at
> floating point to a profile with a true gamma TRC?
>
>
> Pow of a negative values is a NaN for very good reasons. I can extend
> parametric curves that have negative domain defined, but guessing numbers is
> a bad  practice because would work for some cases and completely fail on
> others. If you use the extension you propose to pivot points in gamut
> mapping, for example, the results will come completely messed out.
>
> sRGB can do be extended, because in lower part gamma uses a linear ramp that
> is defined in negative zone. AdobeRGB cannot because is a pure exponential.

Hi Marti,

What you say makes sense as numbers calculated using my suggestion for 
getting around the NaN issue do very rapidly get very large. Does this 
means these RGB numbers don't produce the same XYZ colors in the 
destination color space as in the source color space?

I have a follow-up question. For unbounded floating point conversions to 
sRGB, values below zero are extended linearly. Are values above 1.0 also 
extended linearly, perhaps using the slope at 1.0? I had assumed they 
were extended using gamma=2.4 calculations, but now I'm guessing this 
assumption might be wrong.

Best regards,
Elle

>
> Regards
>
> Marti Maria
> The LittleCMS project
> http://www.littlecms.com
>
> -----Original Message-----
> From: Elle Stone [mailto:ellest...@ninedegreesbelow.com]
> Sent: miƩrcoles, 10 de agosto de 2016 16:26
> To: Lcms Liste <lcms-user@lists.sourceforge.net>
> Subject: [Lcms-user] Negative channel values are clipped upon floating point
> conversions to profiles with true gamma TRCs
>
> Hi Marti and all,
>
> It seems that floating point (unbounded) conversions to RGB matrix profiles
> with true gamma TRCs (other than gamma=1.0), such as ClayRGB with gamma=2.2
> TRC, will clip negative channel values to zero. But unbounded conversions to
> profiles with parametric TRCs, such as the sRGB parametric TRC, does not
> clip negative channel values.
>
> I understand that pow(value, gamma) is undefined for negative values, but
> would code like this make it possible to not clip when converting at
> floating point to a profile with a true gamma TRC? Or perhaps the results
> wouldn't make any sense?
>
> if (value < 0)
>        {
>        value = -1.0 * value;
>        value =  pow (value, gamma);
>        value = -1.0 * value;
>        }
>
> Best regards,
> Elle
> --
> http://ninedegreesbelow.com
> Color management and free/libre photography
>


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to