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