Thread: [Lcms-user] small question about transicc conversion
An ICC-based CMM for color management
Brought to you by:
mm2
From: Michal S. <so...@zi...> - 2010-10-18 22:43:50
|
While experimenting a bit with 2.0's transicc I noticed one thing that kinda surprised me. When using no-bpc sRGB v2 profile downloaded from www.color.org (sRGB_IEC61966-2-1_no_black_scaling.icc). If I do invocation such as: transicc.exe -v3 -t1 -i srgb.icc -o srgb.icc For RGB = 0,0,0 I get: R=1.1868 G=1.1868 B=1.1868 [PCS] Lab=(10.9189,0.0044,-0.0040) XYZ=(1.2051,1.2497,1.0311) But for RGB = 1,1,1: R=1.0078 G=1.0078 B=1.0078 [PCS] Lab=(11.1362,0.0044,-0.0040) XYZ=(1.2345,1.2802,1.0563) While PCS values seem fine, the output RGB for 0,0,0 seems a bit off and the values are actually bigger than for 1,1,1. If I choose any other intent, the final effect is precisely the same - I guess that's expected considering the contents of this profile. Is it due to inaccuracy of the profile data, or is there perhaps something else (during pcs -> output profile step) that would cause those 1.1868 values ? sRGB v4 (although quite different internally, with AtoB and BtoA tags) gives more expected results with analogous invocation (for 0,0,0 and 1,1,1 respectively): R=-0.3043 G=-0.0087 B=0.0021 [PCS] Lab=(10.9194,0.0195,-0.0078) XYZ=(1.2056,1.2497,1.0314) R=0.7644 G=1.1842 B=1.0450 [PCS] Lab=(11.1360,0.0039,0.0039) XYZ=(1.2345,1.2802,1.0557) |
From: <mar...@li...> - 2010-10-19 17:09:11
|
Hi Michal, This is a bug in the curve inversion when curves are not starting in zero, as it happens in that profile. If affects only the first value, zero in this case. Now is fixed. Thanks for reporting. Regards Marti Quoting Michal Soltys <so...@zi...>: > While experimenting a bit with 2.0's transicc I noticed one thing that > kinda surprised me. When using no-bpc sRGB v2 profile downloaded from > www.color.org (sRGB_IEC61966-2-1_no_black_scaling.icc). If I do > invocation such as: > > transicc.exe -v3 -t1 -i srgb.icc -o srgb.icc > > For RGB = 0,0,0 I get: > > R=1.1868 G=1.1868 B=1.1868 > [PCS] Lab=(10.9189,0.0044,-0.0040) XYZ=(1.2051,1.2497,1.0311) > > But for RGB = 1,1,1: > > R=1.0078 G=1.0078 B=1.0078 > [PCS] Lab=(11.1362,0.0044,-0.0040) XYZ=(1.2345,1.2802,1.0563) > > While PCS values seem fine, the output RGB for 0,0,0 seems a bit off and > the values are actually bigger than for 1,1,1. > > If I choose any other intent, the final effect is precisely the same - I > guess that's expected considering the contents of this profile. > > Is it due to inaccuracy of the profile data, or is there perhaps > something else (during pcs -> output profile step) that would cause > those 1.1868 values ? > > sRGB v4 (although quite different internally, with AtoB and BtoA tags) > gives more expected results with analogous invocation (for 0,0,0 and > 1,1,1 respectively): > > R=-0.3043 G=-0.0087 B=0.0021 > [PCS] Lab=(10.9194,0.0195,-0.0078) XYZ=(1.2056,1.2497,1.0314) > > R=0.7644 G=1.1842 B=1.0450 > [PCS] Lab=(11.1360,0.0039,0.0039) XYZ=(1.2345,1.2802,1.0557) > > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > _______________________________________________ > Lcms-user mailing list > Lcm...@li... > https://lists.sourceforge.net/lists/listinfo/lcms-user > |
From: <mar...@li...> - 2010-10-21 11:44:06
|
Hi Michal, Please check the GIT code, as the bugs you report may be already solved. The unicode works fine to me now and the V4 sRGB profile works also fine, given the limited precision it has. Regards Marti Quoting Michal Soltys <so...@zi...>: > Ah, great. Thanks for quick fixing. > > Regarding bugs, I think I found small cosmetic bug in transicc > (although with potential side effects) - if the profile contains > unicode (utf-16be in this case) strings, it is treated as a regular > ascii string - example output: > > Output profile: > sG 4ICpeeec ecpulitn e > Cprgt20 nentoa oo osri > > > Btw - when testing with sRGB v4 profile: > > transicc -t1 -v3 -i sRGB_v4_ICC_preference.icc -o sRGB_v4_ICC_preference.icc > > R? 0 G? 0 B? 0 > R=-0.3043 G=-0.0087 B=0.0021 > [PCS] Lab=(10.9194,0.0195,-0.0078) XYZ=(1.2056,1.2497,1.0314) > > R? 1 G? 1 B? 1 > R=0.7644 G=1.1842 B=1.0450 > [PCS] Lab=(11.1360,0.0039,0.0039) XYZ=(1.2345,1.2802,1.0557) > > R? 2 G? 2 B? 2 > R=1.8321 G=1.7806 B=1.91417 > [PCS] Lab=(11.3405,-0.0117,-0.0039) XYZ=(1.2621,1.3093,1.0803) > > R? 3 G? 3 B? 3 > R=2.8999 G=2.9735 B=2.9570 > [PCS] Lab=(11.5511,0.0234,0.0078) XYZ=(1.2926,1.3398,1.1047) > > R? 7 G? 7 B? 7 > R=6.6369 G=6.8504 B=7.1287 > [PCS] Lab=(12.3430,0.0117,-0.0078) XYZ=(1.4069,1.4587,1.2039) > > > R values in particular - -0.30(0), 0.76(1), 6.64(7) - are they proper in > context of PCS -> sRGB transfer ? Even if after rounding we get proper > integers (0, 1, 7), they seem dangerously off the spot. Following one of > the whitepapers from color.org, no-bpc v2 profile ("type 1 v2 profile") > should roughly give the same results as v4, and theoretically, > shouldn't provide worse accuracy. If the profile is fine, maybe there is > some other bug lurking somewhere. > > http://www.color.org/srgbprofiles.xalter > http://www.color.org/ICC_White_Paper_26_Using_the_V4_sRGB_ICC_profile.pdf > > > Regards > Michal > |
From: Michal S. <so...@zi...> - 2010-10-21 19:05:31
|
On 10-10-21 12:46, mar...@li... wrote: > Hi Michal, > > Please check the GIT code, as the bugs you report may > be already solved. The unicode works fine to me now and > the V4 sRGB profile works also fine, given the limited > precision it has. > > Regards > Marti > Checked the git - unicode display is indeed fine, sorry for the noise then. As for conversion using the same profiles (-t1 -v3 -i prof -o prof): - with no-bpc srgb v2 I get: R? 0 G? 0 B? 0 R=0.5409 G=0.5409 B=0.5409 [PCS] Lab=(10.9189,0.0044,-0.0040) XYZ=(1.2051,1.2497,1.0311) still somewhat high (and rounding to 1), compared to other values we get using this profile - with srgb v4 I get pretty much the same values as in the official version; from somewhat troubling results: Enter values, 'q' to quit R? 3 G? 3 B? 3 R=3.4337 G=2.6753 B=2.9570 [PCS] Lab=(11.5511,0.0234,0.0078) XYZ=(1.2926,1.3398,1.1047) Enter values, 'q' to quit R? 4 G? 4 B? 4 R=3.4337 G=3.8682 B=4.1738 [PCS] Lab=(11.7586,0.0078,-0.0039) XYZ=(1.3215,1.3703,1.1306) Notice, that R here for both 3 and 4 yields the same value after the roundtrip. Well, just for your information. regards Michal |
From: Michal S. <so...@zi...> - 2010-10-19 22:25:01
|
Ah, great. Thanks for quick fixing. Regarding bugs, I think I found small cosmetic bug in transicc (although with potential side effects) - if the profile contains unicode (utf-16be in this case) strings, it is treated as a regular ascii string - example output: Output profile: sG 4ICpeeec ecpulitn e Cprgt20 nentoa oo osri Btw - when testing with sRGB v4 profile: transicc -t1 -v3 -i sRGB_v4_ICC_preference.icc -o sRGB_v4_ICC_preference.icc R? 0 G? 0 B? 0 R=-0.3043 G=-0.0087 B=0.0021 [PCS] Lab=(10.9194,0.0195,-0.0078) XYZ=(1.2056,1.2497,1.0314) R? 1 G? 1 B? 1 R=0.7644 G=1.1842 B=1.0450 [PCS] Lab=(11.1360,0.0039,0.0039) XYZ=(1.2345,1.2802,1.0557) R? 2 G? 2 B? 2 R=1.8321 G=1.7806 B=1.9141 [PCS] Lab=(11.3405,-0.0117,-0.0039) XYZ=(1.2621,1.3093,1.0803) R? 3 G? 3 B? 3 R=2.8999 G=2.9735 B=2.9570 [PCS] Lab=(11.5511,0.0234,0.0078) XYZ=(1.2926,1.3398,1.1047) R? 7 G? 7 B? 7 R=6.6369 G=6.8504 B=7.1287 [PCS] Lab=(12.3430,0.0117,-0.0078) XYZ=(1.4069,1.4587,1.2039) R values in particular - -0.30(0), 0.76(1), 6.64(7) - are they proper in context of PCS -> sRGB transfer ? Even if after rounding we get proper integers (0, 1, 7), they seem dangerously off the spot. Following one of the whitepapers from color.org, no-bpc v2 profile ("type 1 v2 profile") should roughly give the same results as v4, and theoretically, shouldn't provide worse accuracy. If the profile is fine, maybe there is some other bug lurking somewhere. http://www.color.org/srgbprofiles.xalter http://www.color.org/ICC_White_Paper_26_Using_the_V4_sRGB_ICC_profile.pdf Regards Michal |