RSS/Atom feed Twitter
Site is read-only, email is disabled

Color management: conclusions?

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

13 of 13 messages available
Toggle history

Please log in to manage your subscriptions.

Color management: conclusions? David Neary 20 Jul 21:21
  Color management: conclusions? Sven Neumann 20 Jul 22:50
Color management: conclusions? William Skaggs 21 Jul 18:08
  Color management: conclusions? Sven Neumann 23 Jul 01:34
   Color management: conclusions? Alastair M. Robinson 23 Jul 01:46
    Color management: conclusions? Sven Neumann 24 Jul 23:43
     Color management: conclusions? Sven Neumann 28 Jul 12:39
      Color management: conclusions? David Neary 28 Jul 13:29
       Color management: conclusions? Sven Neumann 28 Jul 13:54
      Color management: conclusions? Alastair M. Robinson 28 Jul 18:25
       Color management: conclusions? Sven Neumann 28 Jul 21:13
        Color management: conclusions? David Neary 29 Jul 11:12
         Color management: conclusions? Sven Neumann 29 Jul 11:36
David Neary
2004-07-20 21:21:58 UTC (over 19 years ago)

Color management: conclusions?

Hi all,

So as I was saying on gimp-user, we have had a really good chat about this now, but it seems that we are still unclear about what we hope to do in the area of colour management between now and 2.2.

Who is prepared to put some time (perhaps a lot) into implementing this?

What exactly would they implement?

There seem to be 2 solid propositions coming out of the discussions, which agree on a number of points.

The points of agreement are:

1) Color management should be disablable. 2) The monitor's profile should be applied to the projected image as a last step before displaying.

The monitor profile could also be applied pretty much everywhere that the GIMP exposes colour in its interface.

The two propositions are (or seem to be):

1) Apply embedded profiles (after prompting the user whether they would like to do that) at load time, or attach the profile to the image at load time and use the raw image data, assuming that sRGB (or some other colourspace) is the internal colourspace all the time.

2) Allow the user to set the internal colourspace, and warn when an attached colourspace does not match the current internal one, allowing the user to either apply the profile to convert to the current colourspace, set the internal colourspace to the new one, or not use the colour profile for the image.

I was talking to Sven on IRC, and he seemed to believe that neither of these would be done for 2.2, and that only the infrastructure which would allow these to be done easily post-2.2 (when we hope to have higher bitdepths internally for image data). At least, that's what I think he said, but I didn't really follow.

So - back to the essential - who, what (and when)? :-)

Cheers, Dave.

Sven Neumann
2004-07-20 22:50:26 UTC (over 19 years ago)

Color management: conclusions?

Hi,

David Neary writes:

The two propositions are (or seem to be):

1) Apply embedded profiles (after prompting the user whether they would like to do that) at load time, or attach the profile to the image at load time and use the raw image data, assuming that sRGB (or some other colourspace) is the internal colourspace all the time.

2) Allow the user to set the internal colourspace, and warn when an attached colourspace does not match the current internal one, allowing the user to either apply the profile to convert to the current colourspace, set the internal colourspace to the new one, or not use the colour profile for the image.

I don't see how (2) could work without adding color management throughout the application and most plug-ins. This is certainly a goal for the time with GEGL but nothing that we should target for 2.2.

It seems to me that (1) is the best solution for now. I propose however that we keep most of this functionality in a color-management plug-in. Such a plug-in would offer to apply color profiles and to change the color profile attached to an image. Combined with a color display filter to handle the monitor profile this would keep the lcms dependency to a few defined places and would still allow us to add some basic color management. This should allow us to collect some experiences in this new area. Experience that should help us to get color management right in GEGL.

I was talking to Sven on IRC, and he seemed to believe that neither of these would be done for 2.2, and that only the infrastructure which would allow these to be done easily post-2.2 (when we hope to have higher bitdepths internally for image data). At least, that's what I think he said, but I didn't really follow.

I think that we should focus on adding the API that is needed to implement some basic but useful color management in plug-ins and modules. Whether this means that 2.2 will include these plug-ins and modules or if they will be developed separately (and perhaps even after 2.2 is released) remains to be seen.

Sven

William Skaggs
2004-07-21 18:08:37 UTC (over 19 years ago)

Color management: conclusions?

So at the most concrete possible level, here is a suggestion on how to start:

Step 1: Add a "Color Management" page to the Preferences.

Step 2: Add "enable/disable color management" and "working colorspace" options to the page. To start with, sRGB will be the only option for the latter, but the infrastructure should not build in any assumption that this will always be true.

Step 3: In the file-loading code, after an image has been loaded, check for the presence of parasites called either "icc-profile" or "colorspace". If one of these is found, execute the color management plug-in.

Step 4: Write a color management plug-in.

Best, -- Bill


______________ ______________ ______________ ______________ Sent via the KillerWebMail system at primate.ucdavis.edu

Sven Neumann
2004-07-23 01:34:38 UTC (over 19 years ago)

Color management: conclusions?

Hi,

"William Skaggs" writes:

So at the most concrete possible level, here is a suggestion on how to start:

Step 1: Add a "Color Management" page to the Preferences.

Step 2: Add "enable/disable color management" and "working colorspace" options to the page. To start with, sRGB will be the only option for the latter, but the infrastructure should not build in any assumption that this will always be true.

Step 3: In the file-loading code, after an image has been loaded, check for the presence of parasites called either "icc-profile" or "colorspace". If one of these is found, execute the color management plug-in.

Step 4: Write a color management plug-in.

Sounds good except that Step 4 should be first.

Sven

Alastair M. Robinson
2004-07-23 01:46:54 UTC (over 19 years ago)

Color management: conclusions?

Hi Sven,

Sven Neumann wrote:

"William Skaggs" writes:

So at the most concrete possible level, here is a suggestion on how to start:

Step 1: Add a "Color Management" page to the Preferences.

Step 2: Add "enable/disable color management" and "working colorspace" options to the page. To start with, sRGB will be the only option for the latter, but the infrastructure should not build in any assumption that this will always be true.

GIMP really won't care what this working space is; as far as the core is concerned it's just a filename, so why limit it to sRGB even temporarily?

Step 3: In the file-loading code, after an image has been loaded, check for the presence of parasites called either "icc-profile" or "colorspace". If one of these is found, execute the color management plug-in.

Step 4: Write a color management plug-in.

Sounds good except that Step 4 should be first.

Sure, but the plugin will depend on the implementation of the other stages. The guts of the plugin, thanks to lcms, will be pretty trivial - far simpler than the separate plugin; the most important factor will be the design of its user interface, and supporting factors, e.g. do we support tagging images both with an actual profile, or with the filename of a profile, and such like.

There are a couple of other issues that might warrant discussion with the developers of lcms; how to go about comparing profiles for equality for instance (we want to be able to avoid converting between an embedded profile and the working space if they are in fact the same profile!)

All the best, --
Alastair M. Robinson

Sven Neumann
2004-07-24 23:43:57 UTC (over 19 years ago)

Color management: conclusions?

Hi,

"Alastair M. Robinson" writes:

Sure, but the plugin will depend on the implementation of the other stages. The guts of the plugin, thanks to lcms, will be pretty trivial - far simpler than the separate plugin; the most important factor will be the design of its user interface, and supporting factors, e.g. do we support tagging images both with an actual profile, or with the filename of a profile, and such like.

Well, adding a few gimprc options takes a couple of minutes only and that should be all that is needed for now.

We already support tagging images with a profile. the suggested parasite name for this is currently "icc-profile" and we should try to keep this for backward compatibility. Of course we will need to define some more parasites. Perhaps someone could sit down and propose the parasites we will need for color management.

There are a couple of other issues that might warrant discussion with the developers of lcms; how to go about comparing profiles for equality for instance (we want to be able to avoid converting between an embedded profile and the working space if they are in fact the same profile!)

Does lcms provide an API for this?

Sven

PS: I wonder if we should add the separate plug-in to the GIMP tarball for GIMP 2.2. Would you like to see that happening?

Sven Neumann
2004-07-28 12:39:19 UTC (over 19 years ago)

Color management: conclusions?

Hi,

I wrote this in an earlier mail already but perhaps you didn't notice, so here's my question again:

I wonder if we should add the separate plug-in to the GIMP tarball for GIMP 2.2. Would you like to see that happening?

Sven

David Neary
2004-07-28 13:29:13 UTC (over 19 years ago)

Color management: conclusions?

Hi,

Sven Neumann wrote:

I wrote this in an earlier mail already but perhaps you didn't notice, so here's my question again:

I wonder if we should add the separate plug-in to the GIMP tarball for GIMP 2.2. Would you like to see that happening?

I would. I assumed you were asking Alastair, though.

Also, I found another color management plug-in for the GIMP (pretty old, and I haven't looked at it in depth yet, but it's someone else who has looked into the issue and might save us some work): http://www.khk.net/color/color_manager.html

Cheers, Dave.

Sven Neumann
2004-07-28 13:54:25 UTC (over 19 years ago)

Color management: conclusions?

Hi,

David Neary writes:

I wrote this in an earlier mail already but perhaps you didn't notice, so here's my question again:

I wonder if we should add the separate plug-in to the GIMP tarball for GIMP 2.2. Would you like to see that happening?

I would. I assumed you were asking Alastair, though.

I do, that's why I sent my mail To: "Alastair M. Robinson".

Sven

Alastair M. Robinson
2004-07-28 18:25:48 UTC (over 19 years ago)

Color management: conclusions?

Hi Sven,

Sven Neumann wrote:

I wrote this in an earlier mail already but perhaps you didn't notice, so here's my question again:

Sorry, yes I did miss that...

I wonder if we should add the separate plug-in to the GIMP tarball for GIMP 2.2. Would you like to see that happening?

I'd be delighted - though there are a few bugs I'd like to fix first!

If it's going to become semi-official, though, I guess some discussion is needed about various points:

1. Where in the menus it should live. Currently, my functions are in Image->Separate. The separation is, however, performed on the current layer, not the whole image. The separation functions themselves are really not much more than a colour-profile-aware version of the compose/decompose code that's there already, so maybe alongside those would be the best place. Alternatively, depending on how far we get with colour-management in general, a new top-level Colour Management menu might be a better option?

2. Should the saving function be left with the separation functions, or be moved into the TIFF plugin.

3. How about adding support to the TIFF plugin for loading CMYK images into individual greyscale layers, thus solving the biggest limitation that the separate plugin currently has, i.e. not being able to load its own images back in. (This would have to be an alternative option to converting the CMYK data to RGB using lcms, if we implement that, or using libtiff's own Everything->RGBA converter.)

Does anyone else want to bring up any further points?

Finally, a question: How is a plugin supposed to go about storing persistent data between sessions (i.e. in my case, the filenames of the profiles last used)?

All the best, --
Alastair M. Robinson

Sven Neumann
2004-07-28 21:13:00 UTC (over 19 years ago)

Color management: conclusions?

Hi,

"Alastair M. Robinson" writes:

Finally, a question: How is a plugin supposed to go about storing persistent data between sessions (i.e. in my case, the filenames of the profiles last used)?

The plug-in can attach a persistent parasite to gimp.

Sven

David Neary
2004-07-29 11:12:55 UTC (over 19 years ago)

Color management: conclusions?

Hi,

Sven Neumann wrote:

"Alastair M. Robinson" writes:

Finally, a question: How is a plugin supposed to go about storing persistent data between sessions (i.e. in my case, the filenames of the profiles last used)?

The plug-in can attach a persistent parasite to gimp.

Are parasites ever saved across sessions? I didn't think they were.

Cheers,
Dave.

Sven Neumann
2004-07-29 11:36:43 UTC (over 19 years ago)

Color management: conclusions?

Hi,

David Neary writes:

Finally, a question: How is a plugin supposed to go about storing persistent data between sessions (i.e. in my case, the filenames of the profiles last used)?

The plug-in can attach a persistent parasite to gimp.

Are parasites ever saved across sessions? I didn't think they were.

Persistent parasites are saved of course. Otherwise they wouldn't be persistent.

This also implies that the plug-in authors should be careful with persistent parasites. They would better be able to parse any parasite they set in an earlier version (or at least detect that the format changed and gracefully ignore it).

Sven