Many many thanks for the paper.

This clears so many odd's I was trying to understand between LCMS transforms 
using floats, and transforms using 16bit Int CLUTs. 
Turns out it's the difference between bound and unbound mode - which was never 
so clear to me.

I now also have all needed clues to normalize values.

Kind regards
mark



On 15.02.2011, at 17:23, marti.ma...@littlecms.com wrote:

> 
> Mark,
> 
> This is the lcms2 unbounded mode, which basically means lcms2 can operate
> on values that are beyond the encoding bounds.
> 
> http://www.littlecms.com/CIC18_UnboundedCMM.pdf
> 
>> Does that mean that  "wide gamut" contains RGB values that 
>> are outside of the max encodable ICC a*b* ranges (for integer 
>> encoding) ?
> 
> Yes, but you need not to go to exotic spaces to do so: AdobeRGB has this
> effect. Try RGB=(0, 255, 0) on Adobe RGB, the obtained Lab cannot be
> encoded in ICC convention. Yes, it does *not* fit at all :-)
> 
> To normaliza to 0..1, you can use anything. The encodeable range for
> example. It would happen that values outside encodeable range would give
> you values not in the 0..1.0 range, negative number for example.
> 
> Regards
> Marti
> 
> 
> Original Message:
> -----------------
> From: Mark d...@cine-scan.com
> Date: Tue, 15 Feb 2011 12:59:43 +0100
> To: lcms-user@lists.sourceforge.net
> Subject: [Lcms-user] Lab ranges: converting to  0.0...1.0 - confused
> 
> 
> Hi,
> 
> I'm trying to find the ranges of a* and b* so I can normalize Lab values to
> 0.0...1.0.
> For this I sliced several RGB color spaces (srgb, adobe rgb, prophoto, wide
> gamut) and printed out the resulting Lab values.
> 
> For "wide gamut" I am seeing a* values as high as -211 and b* of +166.
> 
> Digging into the LCMS source code I saw the "integer encodable" ranges for
> a* b* are defined as
> #define MIN_ENCODEABLE_ab4  (-128.0)
> #define MAX_ENCODEABLE_ab4  (127.0)
> 
> Does that mean that  "wide gamut" contains RGB values that are outside of
> the max encodable ICC a*b* ranges (for integer encoding) ?
> So, now I am a bit lost how to best convert a* and b* to the ranges 0...1.0
> 
> I will not be using color spaces largen than adobe rgb (which fits fine
> inside MIN_ENCODEABLE_ab4 and MAX_ENCODEABLE_ab4. 
> So I'm thinking of just normalizing using these limits and clamping as
> necessary.
> 
> Any thoughts / recommendation is very wellcome.
> 
> Best regards, mark
> 
> 
> 
> ----------------------------------------------------------------------------
> --
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> Lcms-user mailing list
> Lcms-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lcms-user
> 
> 
> --------------------------------------------------------------------
> mail2web.com - Microsoft® Exchange solutions from a leading provider -
> http://link.mail2web.com/Business/Exchange
> 
> 


------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to