lcms-user Mailing List for Little cms color engine (Page 21)
An ICC-based CMM for color management
                
                Brought to you by:
                
                    mm2
                    
                
            
            
        
        
        
    You can subscribe to this list here.
| 2001 | Jan | Feb | Mar | Apr (2) | May (15) | Jun (24) | Jul (9) | Aug (14) | Sep | Oct (12) | Nov (17) | Dec (31) | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 | Jan (34) | Feb (7) | Mar (7) | Apr (16) | May (4) | Jun (14) | Jul (34) | Aug (54) | Sep (11) | Oct (25) | Nov (1) | Dec (6) | 
| 2003 | Jan (27) | Feb (54) | Mar (23) | Apr (68) | May (82) | Jun (36) | Jul (45) | Aug (45) | Sep (49) | Oct (30) | Nov (65) | Dec (23) | 
| 2004 | Jan (52) | Feb (52) | Mar (35) | Apr (38) | May (93) | Jun (22) | Jul (51) | Aug (50) | Sep (73) | Oct (28) | Nov (30) | Dec (51) | 
| 2005 | Jan (22) | Feb (79) | Mar (38) | Apr (51) | May (95) | Jun (60) | Jul (56) | Aug (49) | Sep (22) | Oct (43) | Nov (15) | Dec (40) | 
| 2006 | Jan (51) | Feb (31) | Mar (37) | Apr (25) | May (9) | Jun (13) | Jul (17) | Aug (66) | Sep (7) | Oct (12) | Nov (14) | Dec (31) | 
| 2007 | Jan (18) | Feb (9) | Mar (22) | Apr (18) | May (5) | Jun (25) | Jul (2) | Aug (15) | Sep (12) | Oct (40) | Nov (10) | Dec (23) | 
| 2008 | Jan (21) | Feb (56) | Mar (12) | Apr (23) | May (47) | Jun (75) | Jul (24) | Aug (2) | Sep (7) | Oct (26) | Nov (20) | Dec (16) | 
| 2009 | Jan (14) | Feb (1) | Mar (29) | Apr (54) | May (18) | Jun (16) | Jul (5) | Aug (3) | Sep (38) | Oct (6) | Nov (25) | Dec (28) | 
| 2010 | Jan (11) | Feb (26) | Mar (2) | Apr (10) | May (45) | Jun (94) | Jul (11) | Aug (32) | Sep (18) | Oct (37) | Nov (19) | Dec (34) | 
| 2011 | Jan (21) | Feb (16) | Mar (16) | Apr (29) | May (17) | Jun (18) | Jul (7) | Aug (21) | Sep (10) | Oct (7) | Nov (15) | Dec (6) | 
| 2012 | Jan (13) | Feb (16) | Mar (15) | Apr (12) | May (15) | Jun (31) | Jul (22) | Aug (15) | Sep (46) | Oct (21) | Nov (15) | Dec (33) | 
| 2013 | Jan (19) | Feb (17) | Mar (31) | Apr (17) | May (27) | Jun (24) | Jul (26) | Aug (11) | Sep (9) | Oct (22) | Nov (14) | Dec (16) | 
| 2014 | Jan (20) | Feb (66) | Mar (29) | Apr (13) | May (9) | Jun | Jul (11) | Aug (21) | Sep (15) | Oct (5) | Nov (5) | Dec (10) | 
| 2015 | Jan (6) | Feb (26) | Mar (26) | Apr | May (9) | Jun (5) | Jul (5) | Aug (11) | Sep (8) | Oct | Nov | Dec | 
| 2016 | Jan (3) | Feb | Mar (9) | Apr (3) | May (16) | Jun (26) | Jul (32) | Aug (27) | Sep (9) | Oct | Nov (4) | Dec (10) | 
| 2017 | Jan (11) | Feb (44) | Mar (6) | Apr (8) | May (1) | Jun (2) | Jul (34) | Aug (28) | Sep (3) | Oct (9) | Nov (3) | Dec | 
| 2018 | Jan (1) | Feb (5) | Mar (6) | Apr (1) | May (1) | Jun (2) | Jul | Aug (1) | Sep (6) | Oct | Nov (6) | Dec | 
| 2019 | Jan (18) | Feb (16) | Mar | Apr | May | Jun | Jul | Aug (7) | Sep (3) | Oct (10) | Nov (1) | Dec (3) | 
| 2020 | Jan | Feb | Mar | Apr | May (17) | Jun (23) | Jul | Aug (4) | Sep | Oct | Nov | Dec | 
| 2021 | Jan (10) | Feb (3) | Mar | Apr | May | Jun | Jul | Aug | Sep (5) | Oct | Nov (1) | Dec | 
| 2022 | Jan (8) | Feb | Mar (9) | Apr | May | Jun | Jul | Aug | Sep | Oct (13) | Nov (12) | Dec | 
| 2023 | Jan | Feb (1) | Mar (9) | Apr | May (3) | Jun (5) | Jul (3) | Aug (8) | Sep | Oct | Nov (1) | Dec (9) | 
| 2024 | Jan (8) | Feb | Mar (14) | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 
| 2025 | Jan (1) | Feb (1) | Mar (1) | Apr (2) | May (5) | Jun | Jul | Aug | Sep | Oct (3) | Nov | Dec | 
| 
      
      
      From: Marco F. <Mar...@en...> - 2016-06-21 12:48:20
      
     | 
| Hi Christian, Why don't you use a "standard" CMYK profile as default, that is likely to be correct or "close"? Depending on where you are (I assume Germany based on name and email) and what your purpose is, for example FOGRA27 or FOGRA39 might be good defaults. Or SWOPV2 (typically for US). If this is an end-user App, be phony to the user about that usage of a default profile or make it configurable... Marco -----Original Message----- From: Christian Schmitz [mailto:rea...@mo...] Sent: Dienstag, 21. Juni 2016 13:44 To: lcm...@li... Subject: [Lcms-user] Create generic CMYK profile Hi, sometimes I have to render CMYK and need a profile. Instead of using an ICC file, can I just create a simply ICC profile for CMYK? One which can be used to render to RGB and give a preview? Sincerely Christian -- Read our blog about news on our plugins: http://www.mbsplugins.de/ ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Christian S. <rea...@mo...> - 2016-06-21 12:00:29
      
     | 
| Hi, sometimes I have to render CMYK and need a profile. Instead of using an ICC file, can I just create a simply ICC profile for CMYK? One which can be used to render to RGB and give a preview? Sincerely Christian -- Read our blog about news on our plugins: http://www.mbsplugins.de/ | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-06-20 21:44:09
      
     | 
| Hi Tobias, could you explain a little bit more how you use this profile with softproofing? What result do you expect? What are you getting? This would help to catch the bug if this is the case Thanks Marti On Jun 20, 2016 12:19 PM, Tobias Ellinghaus <me...@ho...> wrote: > > Hello, > > I am currently struggling to use a profile with a parametric tone curve for > softproofing. Is there a know limitation regarding that? When I use a straight > gamma it works. Alternatively I can dump the profile to disk or memory and read > it again to get something working. > > The code to create the profile is here: > > https://github.com/darktable-org/darktable/blob/master/src/common/colorspaces.c#L286-L297 > > and > > https://github.com/darktable-org/darktable/blob/master/src/common/colorspaces.c#L238-L284 > > I would appreciate any hints about what is happening. > > Thanks > Tobias > ------------------------------------------------------------------------------ > 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/zohomanageengine | 
| 
      
      
      From: Kai-Uwe B. <ku...@gm...> - 2016-06-20 19:47:46
      
     | 
| Am 20.06.2016 um 12:19 schrieb Tobias Ellinghaus: > I am currently struggling to use a profile with a parametric tone > curve for softproofing. Is there a know limitation regarding that? > When I use a straight gamma it works. Alternatively I can dump the > profile to disk or memory and read it again to get something > working. Could you compare with the cmsCreate_sRGBProfile() API? | 
| 
      
      
      From: Tobias E. <me...@ho...> - 2016-06-20 10:46:09
      
     | 
| Hello, I am currently struggling to use a profile with a parametric tone curve for softproofing. Is there a know limitation regarding that? When I use a straight gamma it works. Alternatively I can dump the profile to disk or memory and read it again to get something working. The code to create the profile is here: https://github.com/darktable-org/darktable/blob/master/src/common/colorspaces.c#L286-L297 and https://github.com/darktable-org/darktable/blob/master/src/common/colorspaces.c#L238-L284 I would appreciate any hints about what is happening. Thanks Tobias | 
| 
      
      
      From: Noel C. <NCa...@Pr...> - 2016-06-17 16:37:01
      
     | 
| On Mon, 6 Jun 2016, Marti Maria wrote: > After some time of inactivity I?ve taken again the development of > lcms, so here is the first release candidate for lcms > 2.8 We have put the 2.8 beta library through quite a bit of testing over the past weeks and have uncovered no problems. We even ran a number of runs with the Microsoft Application Verifier with all the checks turned on and never had a bit of trouble. No leaks, no buffer overflows. We did a LOT of multi-threaded transform operations. Little CMS is proving to be very robust. Thank you! -Noel | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-06-17 07:12:46
      
     | 
| Hi Roger, I'm not a c# expert, but your code seems fine. I guess the problem is elsewhere... Regards Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Roger Breton [mailto:gr...@vi...] Sent: jueves, 16 de junio de 2016 21:25 To: lcm...@li... Subject: [Lcms-user] Difficulty with cmsTransform in C# Tengo una pequena problema... I need to convert 400 RGB values to Lab using a monitor profile. I use the following C# code : string Source = "Monitor.icm"; IntPtr hSource = cmsOpenProfileFromFile(Source, "r"); xform = cmsCreateTransform(hSource, TYPE_RGB_DBL, hLab2, TYPE_Lab_DBL, INTENT_ABSOLUTE_COLORIMETRIC, 0); for (int i = 0; i < 400; i++) { input[0] = R[i]; input[1] = G[i]; input[2] = B[i]; cmsDoTransform(xform, input, output, 1); L = output[0]; a = output[1]; b = output[2]; } First time through the loop I get valid Lab results. But subsequent passage through the loop always return the same Lab values? The input[] values do change as expected. When I use this code outside of a loop, it works perfect. / Roger Breton ---------------------------------------------------------------------------- -- 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/zohomanageengine _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Edgar L. <lo...@co...> - 2016-06-17 07:12:03
      
     | 
| Did you declare input[] and output[] as volatile? (s. https://msdn.microsoft.com/de-de/library/x13ttww7.aspx) Edgar Am 16.06.2016 um 21:25 schrieb Roger Breton: > Tengo una pequena problema... > > I need to convert 400 RGB values to Lab using a monitor profile. > > I use the following C# code : > > string Source = "Monitor.icm"; > IntPtr hSource = cmsOpenProfileFromFile(Source, "r"); > > xform = cmsCreateTransform(hSource, TYPE_RGB_DBL, hLab2, TYPE_Lab_DBL, > INTENT_ABSOLUTE_COLORIMETRIC, 0); > > for (int i = 0; i < 400; i++) > { > input[0] = R[i]; > input[1] = G[i]; > input[2] = B[i]; > > cmsDoTransform(xform, input, output, 1); > > L = output[0]; > a = output[1]; > b = output[2]; > } > > First time through the loop I get valid Lab results. > But subsequent passage through the loop always return the same Lab values? > The input[] values do change as expected. > > When I use this code outside of a loop, it works perfect. > > / Roger Breton > > > ------------------------------------------------------------------------------ > 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/zohomanageengine > _______________________________________________ > Lcms-user mailing list > Lcm...@li... > https://lists.sourceforge.net/lists/listinfo/lcms-user > -- lakeBits Inh. Edgar Loser Haydnstr. 25 78464 Konstanz Tel 0049 7531 5844154 0 Fax 0049 7531 5844154 9 http://www.colymp.com/ mailto:lo...@co... | 
| 
      
      
      From: Roger B. <gr...@vi...> - 2016-06-16 19:40:32
      
     | 
| Tengo una pequena problema...
I need to convert 400 RGB values to Lab using a monitor profile.
I use the following C# code :
  string Source = "Monitor.icm";
  IntPtr hSource = cmsOpenProfileFromFile(Source, "r");
  xform = cmsCreateTransform(hSource, TYPE_RGB_DBL, hLab2, TYPE_Lab_DBL,
INTENT_ABSOLUTE_COLORIMETRIC, 0);
  for (int i = 0; i < 400; i++)
  {
          input[0] = R[i];
          input[1] = G[i];
          input[2] = B[i];
           cmsDoTransform(xform, input, output, 1);
           L = output[0];
           a = output[1];
           b = output[2];
}
First time through the loop I get valid Lab results.
But subsequent passage through the loop always return the same Lab values?
The input[] values do change as expected.
When I use this code outside of a loop, it works perfect.
/ Roger Breton
 | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-06-08 06:12:36
      
     | 
| Hi, Looks great! I have added your changes to the git repository. Many thanks for your contribution. Best regards, Marti Maria The LittleCMS project http://www.littlecms.com From: Noel Carboni [mailto:NCa...@Pr...] Sent: martes, 7 de junio de 2016 21:34 To: 'Marti Maria' <mar...@li...>; lcm...@li... Subject: RE: [Lcms-user] lcms2-2.8 release candidate 1 available for testing Hi Marti, More info related to the cmsFLAGS_COPY_ALPHA flag... Please allow me to make some suggestions to improve the speed of in-place color conversions (i.e., conversions of colors in a single image, where no copy is occurring from one buffer to another): 1. Add these statements to the _cmsHandleExtraChannels() function: // Exit early if in-place color-management is occurring - no need to copy extra channels to themselves. if (p->InputFormat == p->OutputFormat && in == out) return; I've tested the above and it does make a difference in speed for the common/typical operation of in-place color-management. 2. I've also tested hand-optimizing copying the extra info for one extra channel each for input/output - another very typical scenario - and by reducing the array variables to simple variables the entire innermost loop can be run only from registers. It does make a difference in the speed when one extra channel is copied (e.g., for RGBA). That actually brought the LittleCMS time to do the task on 8 bit to 8 bit transforms in line with the optimized code we had already written. Here is a copy of the optimized c file. It's all yours to include in the package if you'd like to use it. All of the changes are in the _cmsHandleExtraChannels() function. http://Noel.ProDigitalSoftware.com/temp/cmsalpha.c Using Visual Studio 2015, the assembly instructions for the innermost per-pixel loop for the optimized "one extra field" function are reduced by the optimizer to this quite efficient set: $LL7@cmsHandleE: ; 466 : copyValueFn(DestPtr, SourcePtr); mov rdx, rbx mov rcx, rdi call r15 ; 468 : SourcePtr += SourceIncrements[0]; add rbx, r14 ; 469 : DestPtr += DestIncrements[0]; add rdi, r12 sub rsi, 1 jne SHORT $LL7@cmsHandleE -Noel From: Marti Maria [mailto:mar...@li...] Sent: Mon, June 6, 2016 3:36 PM To: lcm...@li... <mailto:lcm...@li...> Subject: [Lcms-user] lcms2-2.8 release candidate 1 available for testing Hi, After some time of inactivity I've taken again the development of lcms, so here is the first release candidate for lcms 2.8 Most of code is sponsored by Alien Skin Software, thank you so much for this great contribution! Aside of bugfixes, 2.8 does support alpha channel transportation and a new transform stride function and plug-in which can be used to increase significantly the processing speed. See here the release candidate http://www.littlecms.com/lcms2-2.8rc1.tar.gz Best regards Marti Maria The LittleCMS project http://www.littlecms.com | 
| 
      
      
      From: Noel C. <NCa...@Pr...> - 2016-06-07 19:34:01
      
     | 
| Hi Marti,
 
More info related to the cmsFLAGS_COPY_ALPHA flag...
 
Please allow me to make some suggestions to improve the speed of
in-place color conversions (i.e., conversions of colors in a single
image, where no copy is occurring from one buffer to another):
 
 
1.  Add these statements to the _cmsHandleExtraChannels() function:
 
               // Exit early if in-place color-management is occurring -
no need to copy extra channels to themselves.
               if (p->InputFormat == p->OutputFormat && in == out)
                              return;
 
I've tested the above and it does make a difference in speed for the
common/typical operation of in-place color-management.
 
 
2.  I've also tested hand-optimizing copying the extra info for one
extra channel each for input/output - another very typical scenario -
and by reducing the array variables to simple variables the entire
innermost loop can be run only from registers.  It does make a
difference in the speed when one extra channel is copied (e.g., for
RGBA).  That actually brought the LittleCMS time to do the task on 8 bit
to 8 bit transforms in line with the optimized code we had already
written.
 
Here is a copy of the optimized c file.  It's all yours to include in
the package if you'd like to use it.  All of the changes are in the
_cmsHandleExtraChannels() function.
 
http://Noel.ProDigitalSoftware.com/temp/cmsalpha.c
 
Using Visual Studio 2015, the assembly instructions for the innermost
per-pixel loop for the optimized "one extra field" function are reduced
by the optimizer to this quite efficient set:
 
$LL7@cmsHandleE:
 
; 466  :
copyValueFn(DestPtr, SourcePtr);
 
            mov    rdx, rbx
            mov    rcx, rdi
            call      r15
 
; 468  :                                                SourcePtr +=
SourceIncrements[0];
 
            add      rbx, r14
 
; 469  :                                                DestPtr   +=
DestIncrements[0];
 
            add      rdi, r12
            sub      rsi, 1
            jne       SHORT $LL7@cmsHandleE
 
-Noel
 
From: Marti Maria [mailto:mar...@li...] 
Sent: Mon, June 6, 2016 3:36 PM
To: lcm...@li...
Subject: [Lcms-user] lcms2-2.8 release candidate 1 available for testing
 
 
Hi,
 
After some time of inactivity I've taken again the development of lcms,
so here is the first release candidate for lcms 2.8
 
Most of code is sponsored by Alien Skin Software, thank you so much for
this great contribution!
 
Aside of bugfixes, 2.8 does support alpha channel transportation and a
new transform stride function and plug-in which can be used to increase
significantly the processing speed.
 
See here the release candidate
http://www.littlecms.com/lcms2-2.8rc1.tar.gz
 
Best regards
 
Marti Maria
The LittleCMS project
http://www.littlecms.com 
 
 | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-06-07 07:16:17
      
     | 
| Hi, >echo 10 90 0 10 | icctrans -i"CoatedFOGRA39.icc" -o*Lab -n > >LittleCMS ColorSpace conversion calculator - v3.3 > >47.4525 63.8438 -7.7734 This is exactly what PhotoShop CC 2015 gives >echo 0 100 0 0 | icctrans -i"CoatedFOGRA39.icc" -o*sRGB -n > >LittleCMS ColorSpace conversion calculator - v3.3 > >229.56 0.00 125.60 Again, exact match after proper rounding. I don't see what is wrong in those calculations. >This is all VERY different to all other calculations I have seem for example I would think RGB would be closer to 255 0 255 Please remember this is precision color management, so if you compare with online converters that are applying CMYK=1-RGB or things like that, results are obviously different. But it is not Adobe or Littlecms who is wrong. RGB 255, 0, 255 is on gamut boundary which effectively is out of gamut. I doubt any decent CMM will give 255, 0, 255, this is not in the ICC profile. Regards Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Harald Weinhandl [mailto:hv...@gm...] Sent: martes, 7 de junio de 2016 5:58 To: lcm...@li... Subject: [Lcms-user] CMYK to CieLab Hi I have been trying all day to convert CMYK to Lab using the basic. hTransform = cmsCreateTransform( hCMYKProfile, TYPE_CMYK_DBL, hLab, TYPE_Lab_DBL, INTENT_PERCEPTUAL, 0); I have also tried icctrans which gives the same results echo 10 90 0 10 | icctrans -i"CoatedFOGRA39.icc" -o*Lab -n LittleCMS ColorSpace conversion calculator - v3.3 47.4525 63.8438 -7.7734 If I also just use a simple CMYK to RGB echo 0 100 0 0 | icctrans -i"CoatedFOGRA39.icc" -o*sRGB -n LittleCMS ColorSpace conversion calculator - v3.3 229.56 0.00 125.60 This is all VERY different to all other calculations I have seem for example I would think RGB would be closer to 255 0 255 also checking many online converters Am I doing something very wrong, I have tried other CMYK profiles like USWebCoatedSWOP and they are nearly the same.. Harald ---------------------------------------------------------------------------- -- 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. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Boudewijn R. <bo...@va...> - 2016-06-07 06:27:18
      
     | 
| On Mon, 6 Jun 2016, Marti Maria wrote: > > After some time of inactivity I’ve taken again the development of lcms, so here is the first release candidate for lcms > 2.8 > > Most of code is sponsored by Alien Skin Software, thank you so much for this great contribution! > > Aside of bugfixes, 2.8 does support alpha channel transportation and a new transform stride function and plug-in which > can be used to increase significantly the processing speed. > > See here the release candidate http://www.littlecms.com/lcms2-2.8rc1.tar.gz > Awesome news! -- Boudewijn Rempt | http://www.krita.org, http://www.valdyas.org | 
| 
      
      
      From: Harald W. <hv...@gm...> - 2016-06-07 03:58:33
      
     | 
| Hi I have been trying all day to convert CMYK to Lab using the basic. hTransform = cmsCreateTransform( hCMYKProfile, TYPE_CMYK_DBL, hLab, TYPE_Lab_DBL, INTENT_PERCEPTUAL, 0); I have also tried icctrans which gives the same results echo 10 90 0 10 | icctrans -i"CoatedFOGRA39.icc" -o*Lab -n LittleCMS ColorSpace conversion calculator - v3.3 47.4525 63.8438 -7.7734 If I also just use a simple CMYK to RGB echo 0 100 0 0 | icctrans -i"CoatedFOGRA39.icc" -o*sRGB -n LittleCMS ColorSpace conversion calculator - v3.3 229.56 0.00 125.60 This is all VERY different to all other calculations I have seem for example I would think RGB would be closer to 255 0 255 also checking many online converters Am I doing something very wrong, I have tried other CMYK profiles like USWebCoatedSWOP and they are nearly the same.. Harald | 
| 
      
      
      From: Noel C. <NCa...@Pr...> - 2016-06-07 02:37:13
      
     | 
| Thank you, Marti, We're definitely going to be able to make use of the "copy alpha" functionality. It eats up a surprising amount of time to handle the alpha separately. -Noel From: Marti Maria [mailto:mar...@li...] Sent: Mon, June 6, 2016 3:36 PM To: lcm...@li... Subject: [Lcms-user] lcms2-2.8 release candidate 1 available for testing Hi, After some time of inactivity I've taken again the development of lcms, so here is the first release candidate for lcms 2.8 Most of code is sponsored by Alien Skin Software, thank you so much for this great contribution! Aside of bugfixes, 2.8 does support alpha channel transportation and a new transform stride function and plug-in which can be used to increase significantly the processing speed. See here the release candidate http://www.littlecms.com/lcms2-2.8rc1.tar.gz Best regards Marti Maria The LittleCMS project http://www.littlecms.com | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-06-06 19:33:59
      
     | 
| Hi, After some time of inactivity I've taken again the development of lcms, so here is the first release candidate for lcms 2.8 Most of code is sponsored by Alien Skin Software, thank you so much for this great contribution! Aside of bugfixes, 2.8 does support alpha channel transportation and a new transform stride function and plug-in which can be used to increase significantly the processing speed. See here the release candidate http://www.littlecms.com/lcms2-2.8rc1.tar.gz Best regards Marti Maria The LittleCMS project http://www.littlecms.com | 
| 
      
      
      From: Marco F. <Mar...@en...> - 2016-05-24 14:21:46
      
     | 
| OK, I'll give it a shot and try it. Thanks again, Elle, Marti, Florian for your answers! Marco -----Original Message----- From: Marti Maria [mailto:mar...@li...] Sent: Dienstag, 24. Mai 2016 16:19 To: Marco Freudenberger; 'Florian Höch'; lcm...@li... Subject: RE: [Lcms-user] How to create a gray profile with L-star grey response? Hi, Yes, that one. If you use cmsBuildGamma() you are forced to XYZ PCS, but if you use low-level you can use Lab PCS as well. Regards Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Marco Freudenberger [mailto:Mar...@en...] Sent: martes, 24 de mayo de 2016 16:14 To: Marti Maria <mar...@li...>; 'Florian Höch' <lis...@ho...>; lcm...@li... Subject: RE: [Lcms-user] How to create a gray profile with L-star grey response? Marti, sorry, I'm not sure I understand your answer. My intention is gray with L*, not Linear gray (Gamma 1.0), using the cmsBuildGamma would give me a gamma 1.0 response curve, though - at least when used with cmsCreateGrayProfile, right? Or am I missing something? Are you suggesting I'm creating the profile "low level"? Something like: cmsHPROFILE hProfile = cmsCreateProfilePlaceholder(ctx); cmsSetProfileVersion(hProfile, 4.3); cmsSetDeviceClass(hProfile, cmsSigDisplayClass); // or better abstract? cmsSetColorSpace(hProfile, cmsSigGrayData); cmsSetPCS(hProfile, cmsSigLabData); cmsSetHeaderRenderingIntent(hProfile, INTENT_RELATIVE_COLORIMETRIC); SetTextTags(hProfile, L"gray L-star") cmsCIEXYZ wpxyz; cmsxyY2XYZ(&wpxyz, WhitePoint); cmsWriteTag(hProfile, cmsSigMediaWhitePointTag, &wpxyz); cmsToneCurve* tc = cmsBuildGamma(ctx, 1.0); // 1.0 gamma from Lab = L* ??????? cmsWriteTag(hProfile, cmsSigGrayTRCTag, (void*)tc)); cmsFreeToneCurve(tc); -----Original Message----- From: Marti Maria [mailto:mar...@li...] Sent: Dienstag, 24. Mai 2016 15:50 To: Marco Freudenberger; 'Florian Höch'; lcm...@li... Subject: RE: [Lcms-user] How to create a gray profile with L-star grey response? Right, mark the PCS as Lab and use cmdBuildGamma(NULL, 1.0). You only need to add the white point and this curve. Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Florian Höch [mailto:lis...@ho...] Sent: martes, 24 de mayo de 2016 15:19 To: lcm...@li... Subject: Re: [Lcms-user] How to create a gray profile with L-star grey response? Hi, Am 24.05.2016 um 15:07 schrieb Marco Freudenberger: > PS - to the group: I'm still wondering what would happen if I'd simply > set the TransferFunction to NULL... That would result in a gamma 1.0 response I think (according to the ICC spec). Florian. ---------------------------------------------------------------------------- -- Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-05-24 14:17:31
      
     | 
| Hi, Yes, that one. If you use cmsBuildGamma() you are forced to XYZ PCS, but if you use low-level you can use Lab PCS as well. Regards Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Marco Freudenberger [mailto:Mar...@en...] Sent: martes, 24 de mayo de 2016 16:14 To: Marti Maria <mar...@li...>; 'Florian Höch' <lis...@ho...>; lcm...@li... Subject: RE: [Lcms-user] How to create a gray profile with L-star grey response? Marti, sorry, I'm not sure I understand your answer. My intention is gray with L*, not Linear gray (Gamma 1.0), using the cmsBuildGamma would give me a gamma 1.0 response curve, though - at least when used with cmsCreateGrayProfile, right? Or am I missing something? Are you suggesting I'm creating the profile "low level"? Something like: cmsHPROFILE hProfile = cmsCreateProfilePlaceholder(ctx); cmsSetProfileVersion(hProfile, 4.3); cmsSetDeviceClass(hProfile, cmsSigDisplayClass); // or better abstract? cmsSetColorSpace(hProfile, cmsSigGrayData); cmsSetPCS(hProfile, cmsSigLabData); cmsSetHeaderRenderingIntent(hProfile, INTENT_RELATIVE_COLORIMETRIC); SetTextTags(hProfile, L"gray L-star") cmsCIEXYZ wpxyz; cmsxyY2XYZ(&wpxyz, WhitePoint); cmsWriteTag(hProfile, cmsSigMediaWhitePointTag, &wpxyz); cmsToneCurve* tc = cmsBuildGamma(ctx, 1.0); // 1.0 gamma from Lab = L* ??????? cmsWriteTag(hProfile, cmsSigGrayTRCTag, (void*)tc)); cmsFreeToneCurve(tc); -----Original Message----- From: Marti Maria [mailto:mar...@li...] Sent: Dienstag, 24. Mai 2016 15:50 To: Marco Freudenberger; 'Florian Höch'; lcm...@li... Subject: RE: [Lcms-user] How to create a gray profile with L-star grey response? Right, mark the PCS as Lab and use cmdBuildGamma(NULL, 1.0). You only need to add the white point and this curve. Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Florian Höch [mailto:lis...@ho...] Sent: martes, 24 de mayo de 2016 15:19 To: lcm...@li... Subject: Re: [Lcms-user] How to create a gray profile with L-star grey response? Hi, Am 24.05.2016 um 15:07 schrieb Marco Freudenberger: > PS - to the group: I'm still wondering what would happen if I'd simply > set the TransferFunction to NULL... That would result in a gamma 1.0 response I think (according to the ICC spec). Florian. ---------------------------------------------------------------------------- -- Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Marco F. <Mar...@en...> - 2016-05-24 14:14:33
      
     | 
| Marti, sorry, I'm not sure I understand your answer. My intention is gray with L*, not Linear gray (Gamma 1.0), using the cmsBuildGamma would give me a gamma 1.0 response curve, though - at least when used with cmsCreateGrayProfile, right? Or am I missing something? Are you suggesting I'm creating the profile "low level"? Something like: cmsHPROFILE hProfile = cmsCreateProfilePlaceholder(ctx); cmsSetProfileVersion(hProfile, 4.3); cmsSetDeviceClass(hProfile, cmsSigDisplayClass); // or better abstract? cmsSetColorSpace(hProfile, cmsSigGrayData); cmsSetPCS(hProfile, cmsSigLabData); cmsSetHeaderRenderingIntent(hProfile, INTENT_RELATIVE_COLORIMETRIC); SetTextTags(hProfile, L"gray L-star") cmsCIEXYZ wpxyz; cmsxyY2XYZ(&wpxyz, WhitePoint); cmsWriteTag(hProfile, cmsSigMediaWhitePointTag, &wpxyz); cmsToneCurve* tc = cmsBuildGamma(ctx, 1.0); // 1.0 gamma from Lab = L* ??????? cmsWriteTag(hProfile, cmsSigGrayTRCTag, (void*)tc)); cmsFreeToneCurve(tc); -----Original Message----- From: Marti Maria [mailto:mar...@li...] Sent: Dienstag, 24. Mai 2016 15:50 To: Marco Freudenberger; 'Florian Höch'; lcm...@li... Subject: RE: [Lcms-user] How to create a gray profile with L-star grey response? Right, mark the PCS as Lab and use cmdBuildGamma(NULL, 1.0). You only need to add the white point and this curve. Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Florian Höch [mailto:lis...@ho...] Sent: martes, 24 de mayo de 2016 15:19 To: lcm...@li... Subject: Re: [Lcms-user] How to create a gray profile with L-star grey response? Hi, Am 24.05.2016 um 15:07 schrieb Marco Freudenberger: > PS - to the group: I'm still wondering what would happen if I'd simply > set the TransferFunction to NULL... That would result in a gamma 1.0 response I think (according to the ICC spec). Florian. ---------------------------------------------------------------------------- -- Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Marti M. <mar...@li...> - 2016-05-24 13:48:15
      
     | 
| Right, mark the PCS as Lab and use cmdBuildGamma(NULL, 1.0). You only need to add the white point and this curve. Marti Maria The LittleCMS project http://www.littlecms.com -----Original Message----- From: Florian Höch [mailto:lis...@ho...] Sent: martes, 24 de mayo de 2016 15:19 To: lcm...@li... Subject: Re: [Lcms-user] How to create a gray profile with L-star grey response? Hi, Am 24.05.2016 um 15:07 schrieb Marco Freudenberger: > PS - to the group: I'm still wondering what would happen if I'd simply set the TransferFunction to NULL... That would result in a gamma 1.0 response I think (according to the ICC spec). Florian. ---------------------------------------------------------------------------- -- Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Florian H. <lis...@ho...> - 2016-05-24 13:18:58
      
     | 
| Hi, Am 24.05.2016 um 15:07 schrieb Marco Freudenberger: > PS - to the group: I'm still wondering what would happen if I'd simply set the TransferFunction to NULL... That would result in a gamma 1.0 response I think (according to the ICC spec). Florian. | 
| 
      
      
      From: Marco F. <Mar...@en...> - 2016-05-24 13:07:29
      
     | 
| Hi ! Thanks for your response, looks like I'm on the right path, your solution looks pretty similar - and BTW, I take your comment that you are no expert as an understatement, I've visited your website a couple of times and think it's a great reference and shows a lot of knowledge and experience :-) Regarding my last parameter value: I indirectly took it off Bruce Lindbloom's site as well :-) Unfortunately, I missed the page you linked with the "Inverse Companding" somehow, I started at the "(forward) Companding" page (http://brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html) and did the math to revert it. For the last parameter I started with: e(epsilon) = 0.008856, K(kappa) = 903.3 so I'm calculating: e' = e * K / 100.0 (as e <= e). It's very close to 0.08 anyways :-) However, I used the numbers that Bruce lists as "Actual CIE Standard". Thanks to your second link (and I've seen that page before, but didn't remember it when I needed it ...) I realized that the values given as "Intent of the CIE Standard" as you are using them are probably the better values... and with e = 216/23489 and K = 23489/27, e' turns out to be 216/2700 = 2/25 = exactly 0.08... Thanks and best regards, Marco PS - to the group: I'm still wondering what would happen if I'd simply set the TransferFunction to NULL... -----Original Message----- From: Elle Stone [mailto:ell...@ni...] Sent: Dienstag, 24. Mai 2016 14:08 To: lcm...@li... Subject: Re: [Lcms-user] How to create a gray profile with L-star grey response? On 05/24/2016 06:54 AM, Marco Freudenberger wrote: > Hi! > > I'm trying to create a gray profile that has an L* (L-star) response > curve, but I'm a little confused about the "parametric tone curve" syntax. > > Is there an example how to create the correct tone curve? I guess I > need the inverted version of L* companding, right? Would that be a 4 > parametric curve, with: > > y(Gamma) = 3.0 > > a=1.0/1.16 > > b=0.16/1.16 > > c=100.0/903.3 > > d=0.008856*903.3/100.0 > > So in code something like that: > > cmsFloat64Number lStarParams[5] = { 3.0, 1.0/1.16, 0.16/1.16, > 100.0/903.3, 0.008856*903.3/100.0 }; > FWIW (I'm no expert!), I use these parameters to make the Lab parametric curve: cmsFloat64Number labl_parameters[5] = { 3.0, 1.0/1.16, 0.16/1.16, 2700.0/24389.0, 0.08000 }; The parameters are from these two pages: http://brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html http://brucelindbloom.com/index.html?LContinuity.html Where does the equation for your last parameter come from? I've always used Lindbloom's values and he gives 0.08. Best, Elle -- http://ninedegreesbelow.com Color management and free/libre photography ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Lcms-user mailing list Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user | 
| 
      
      
      From: Elle S. <ell...@ni...> - 2016-05-24 12:31:30
      
     | 
| On 05/24/2016 06:54 AM, Marco Freudenberger wrote:
> Hi!
>
> I'm trying to create a gray profile that has an L* (L-star) response
> curve, but I'm a little confused about the "parametric tone curve" syntax.
>
> Is there an example how to create the correct tone curve? I guess I need
> the inverted version of L* companding, right? Would that be a 4
> parametric curve, with:
>
> y(Gamma) = 3.0
>
> a=1.0/1.16
>
> b=0.16/1.16
>
> c=100.0/903.3
>
> d=0.008856*903.3/100.0
>
> So in code something like that:
>
> cmsFloat64Number lStarParams[5] = { 3.0, 1.0/1.16, 0.16/1.16,
> 100.0/903.3, 0.008856*903.3/100.0 };
>
FWIW (I'm no expert!), I use these parameters to make the Lab parametric 
curve:
cmsFloat64Number labl_parameters[5] =
{ 3.0, 1.0/1.16, 0.16/1.16, 2700.0/24389.0, 0.08000 };
The parameters are from these two pages:
http://brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html
http://brucelindbloom.com/index.html?LContinuity.html
Where does the equation for your last parameter come from? I've always 
used Lindbloom's values and he gives 0.08.
Best,
Elle
-- 
http://ninedegreesbelow.com
Color management and free/libre photography
 | 
| 
      
      
      From: Marco F. <Mar...@en...> - 2016-05-24 10:54:22
      
     | 
| Hi!
I'm trying to create a gray profile that has an L* (L-star) response curve, but I'm a little confused about the "parametric tone curve" syntax.
Is there an example how to create the correct tone curve? I guess I need the inverted version of L* companding, right? Would that be a 4 parametric curve, with:
y(Gamma) = 3.0
a=1.0/1.16
b=0.16/1.16
c=100.0/903.3
d=0.008856*903.3/100.0
So in code something like that:
cmsFloat64Number lStarParams[5] = { 3.0, 1.0/1.16, 0.16/1.16, 100.0/903.3, 0.008856*903.3/100.0 };
cmsBuildParametricToneCurve( ctx, 4, lStarParams );
???
Or is it as easy as passing a NULL for the TransferFunction parameter in cmsCreateGrayProfileTHR() because the response matches the PCS response?
Thanks,
Marco
 | 
| 
      
      
      From: John J. <joh...@gl...> - 2016-05-22 22:00:10
      
     | 
| On 28/09/2015 21:33, Kunda wrote: What is the status of Python bindings for lcms2? Is anyone working on this? Hi, this is rather late, but if you haven't anything else you could try the SWIG bindings at https://pypi.python.org/pypi/littlecms/0.1b1. The documentation is lacking but it's mostly just like using the C API. The biggest tricky bit is understanding the use of the array objects that are necessary for passing as params to many C functions. The tests do cover quite a lot ground so I hope you won't find much trouble using it. There is a source distribution which has been tested on Windows and Linux. On Windows you'll need either Visual Studio 2015, 2010, or 2008 depending on your Python version. The bindings will build and install automatically if you use pip to install it. There is also a pre-built wheel for Python 3.5 on Win64 which will install automatically with pip. I've only tested with Python 3 because that's what I use. I believe it will be only a smallish effort to make it work on Python 2. John [Global Graphics at drupa 2016 - visit us at Hall 7 Stand B21/C20]<http://www.globalgraphics.com/company/events/drupa> |