progress on color management

Finally I found the time and motivation to continue to work on color management in GIMP. Since last night, GIMP will detect an embedded color profile when loading an image file and asks you how the profile should be handled:

color profile confirmation dialog

Still a little rough around the edges but we are getting somewhere. The most important missing aspect now is to make the color management display filter aware of the color profile attached to the image. That will give us a properly color-corrected display. I hope to get that implemented before the next development release. Then the whole color management UI will need some polishing and we should consider to add functionality as provided by the GIMP plug-in for CMYK separation, only better integrated with the new color management framework.

19 Responses to “progress on color management”

  1. Colin Says:

    Hi Sven,

    Cool news! Once this will be done, you’ll have killed the most common Gimp-versus-Photoshop troll :-)
    Keep up the great work!

  2. Chris Cunningham Says:

    Why would a user want to convert their colour profile to a different format? Is there a reason that the profile should be converted? If a user opens an indexed file the GIMP just leaves it indexed unless the user actually wants it converted to RGB, for instance, so why not leave notification of conversion until it’s necessary?

    – Chris

  3. Andreas Nilsson Says:

    Yay!
    Keep on rocking, Sven!

  4. Markus Bertheau Says:

    What button should I press when I want to open such a .jpg to scale it down? Keep or Convert?

  5. neo Says:

    Markus, you would want to keep the embedded profile then. When you save the file again, the embedded profile will be saved with the file. Converting wouldn’t be wrong but you can get away without converting if all you want to do is cropping or scaling. Actually, in most cases it’s a safe bet not to convert. However, until the changes to the display are implemented, the displayed colors will be off.

  6. Chris Cunningham Says:

    Are you going to include that explanation on the dialogue?

    – Chris

  7. neo Says:

    No, we aren’t going to attempt to explain basics of color management in a confirmation dialog. But this explanation will at some point be in the user manual (that’s what the Help button is good for). Color management is a complex subject and users need some background to understand it. Since GIMP is targetting professional users and since it is definitely the wrong tool for the job of just scaling an image, it seems reasonable to assume some background. But we might include a mode that allows to turn off color management completely.

  8. Chris Cunningham Says:

    Again: opening a gif file doesn’t present a large dialogue in some moon-language which requires a yes or no answer to proceed. The correct UI here is definitely to just leave the profile as it is until such point as it really _needs_ to be updated. And “professional users” almost certainly don’t care _which format_ their colour profiles are in. They just want the image they got off their Mac to look the same when they take it to work and hack on it on Solaris. It’s this sort of “look how clever I am” approach to feature management which has led to the gimp’s notoriety as far as free software usability goes.

    A mockup (assuming WordPress doesn’t eat my markup): This appears only when it is necessary to convert the profile.

    |————————————————————————–¬
    | |
    | This image uses the Adobe RGB (1998) color profile to ensure that colors |
    | look consistent across different displays and devices. GIMP must convert |
    | this profile to another format to update color information. |
    | |
    | If you save this file, the image may be displayed with the wrong colors |
    | in other programs. Do you still wish to save the file? |
    | |
    | [help] [ Do not save ] [ Convert and save ] |
    | |
    |————————————————————————–|

    Still too wordy, but quite a bit better.

    – Chris

  9. Jason Dunsmore Says:

    Thanks for your work on this!

  10. Ron Says:

    Hi!

    Sorry for being offtopic, but I’ve a question about a post (months ago) from you about offering a single window to work in (like photoshop). Are you guys still planning to implement it, and if yes, when can we expect it? For me, and we all know for a lot of users, this is the main thing that keeps me away from using the gimp.

    Thanks!

  11. emmanuel Says:

    great thing! gimp is definitely going forward.

    otherwise it seems to me that if the display of colors is correct even if you choose to keep adobeRGB (which I understand is not done yet) then probably it’s not that often that you want to convert. mostly i guess to export for people who can’t display such files or maybe to print. so maybe gimp shouldn’t ask when importing (when color display will be right even for adobeRGB), but offer another entry in image->mode.

    there would be
    RGB
    grayscale
    indexed

    and if the image is adobeRGB, then RGB would be sensitive, and clicking it would convert the image to sRGB (display that dialog).

  12. neo Says:

    Chris, you are on the wrong track here. The policies for color management will be adjustable in the Preferences dialog, very similar to the configurations that Photoshop offers. A user who doesn’t want to deal with color management is not going to ever see this dialog or anything similar. So there is no point in going for lengthy explanations or trying to keep the user from shooting herself into the feet.

    Also, converting at Save time is most often a bad idea. The color adjustment tools and most filters in GIMP assume that the image is in sRGB color space and will do the wrong thing on images that are for example in Adobe RGB. If your intention is to change colors, then it’s best to convert to sRGB when the file is being opened.

  13. emmanuel Says:

    > Also, converting at Save time is most often a bad idea. The color adjustment tools and
    > most filters in GIMP assume that the image is in sRGB color space and will do the wrong > thing on images that are for example in Adobe RGB. If your intention is to change colors, > then it’s best to convert to sRGB when the file is being opened.

    Ahhh… Then I would definitely make the wrong choice in this dialog, because I didn’t know that.
    Maybe there should be a new sentence added to this dialog “filters affecting colors of the image may not work properly with this color space, For work that would require changing colors of the image, converting to sRGB is advised”.

  14. Chris Cunningham Says:

    converting at Save time is most often a bad idea. The color adjustment tools and most filters in GIMP assume that the image is in sRGB color space and will do the wrong thing on images that are for example in Adobe RGB. If your intention is to change colors, then it’s best to convert to sRGB when the file is being opened.

    I didn’t necessarily mean “at save time”, I meant at whatever point it is absolutely necessary (i.e. when changing colours). There’s no point in presenting users with dialogues when they don’t need them. emmanuel’s approach above (i.e. greaying out any colour-changing operations until the profile format is explicitly changed) is another approach. Both could work.

    there is no point in going for lengthy explanations or trying to keep the user from shooting herself into the feet.

    There is always a point in trying to keep users from doing stupid things. How I imagine this will play out is that colour management will be off by default (bad), enabling it will require wading through gimp’s prefs UI (bad), and the dialogue won’t be changed to present a warning about potential effects (bad). There is an opportunity to do the right thing here and make colour management simple and practical. I had been led to believe that gimp development had at least some focus on usability as opposed to simply adding new features at this stage.

    – Chris

  15. neo Says:

    GIMP development has a lot focus on usability these days. We are even having a meeting this weekend that focuses on nothing else.

    I do believe however that it makes sense here to look at other applications and try to implement similar behaviour when it comes to color mangement. Only then will GIMP be accepted by the people who have learned to work with managed colors. Only then will new users be able to learn about the subject using the available tutorials on color management. All the color-profile aware applications that I had a look at offer the choice to convert at load time. It seems like a good idea to copy this behaviour.

    It’s also not feasible to delay the conversion until the moment that colors are changed. Simply because GIMP doesn’t know which of its several hundred filters could possibly change colors and might need the conversion applied before they get a chance to access the pixels.

    Chris, from looking at your replies, it’s apparent that you are clueless when it comes to color management. Your input is helpful because many users will be just as clueless as you are. But I will nevertheless also ask some prepress professionals to review the color management implementation before 2.4. I am sure that their input will help more than criticism on UI details at a stage where not even all of the functionality is implemented.

  16. prokoudine Says:

    Sven, I appreciate this work very much. Just tell us, if you want extensive testing.

  17. Daniyel Says:

    Sweet!
    I tend to do most of my photography in RAW anyway (Canon 30D RAW). Been experimenting tonight with Dcraw to convert the 12 bit RAW file down into a 8 bit TIFF file and into sRGB from Adobe RGB (yep, you guessed it, I shoot raw + adobe_rgb).

    dcraw -v -b 2.0 -w -o 1 -q 3 -T shawn.CR2
    Loading Canon EOS 30D image from shawn.CR2…
    Scaling with black=128, pre_mul[] = 1.486660 1.000000 2.205152 1.000000
    AHD interpolation…
    Converting to sRGB colorspace…
    Writing data to shawn.tiff …

    The main reason I have been playing with this earlier tonight was to test the color picker for black and white for the color balance. I must say, so far I’m really impressed! :) Helped two of my indoor shots already that were taken under good portions of tungsten lighting with no flash (ISO800, -F2.2, 1/100, 50mm, +1/3exp comp). Gimp version I’m currently using is 2.2.13. One thing that I noticed Gimp complaining about was 16 bit TIFF files. Anyone hear of any plans for support in that arena?

    Cheers!

  18. pyziual Says:

    I applaud you and the gimp developers for their efforts, I will hold my comments until I review GIMP 2.4 as viable image editing software application as part as my workflow.

    Not to fuel any Veruca Salt-esque debates on MDI and SDI UI but could you please address Ron’s question.

    My question while it might not appear to be relevant to color management, somewhere in my question it has to do with additive or subtractive colors. All I want to know, for now, is can I do this with a mouse or “whack’em” (Wacom) tablet in GIMP 2.4 (please browse their Galleries/Portfolios when you have a chance):

    http://www.goodbrush.com/mainpage/index2.htm

    from what I understand this 2D artist used Photoshop (in conjunction with Painter) to render these images

    this
    http://www.fengzhudesign.com/gallery.html

    and this

    http://www.ballisticpublishing.com/books/dartiste_digital_painting/

    Thank you for you time.

  19. Gez Says:

    It’s excellent. I don’t understand some critics posted here. This is, in my opinion, the best way to implement this feature.
    If there’s an option tu deactivate this, I can’t see why it shouldn’t be that way.
    I’m a professional user and I find this feature very useful. In a color managed workflow you have an internal profile and output profiles. When a file has a profile embedded different than the internal profile, user should be warned and get options to choose.
    What’s wrong with that???
    Contrary of most of people think, color profiles DO care.
    A simple example: When you work for web, sRGB is the best choice. When you work for print, a wider gamut profile, as AdobeRGB1998 will give you better color ranges. But if you work in AdobeRGB and then you save them as sRGB, saturated colors get dull and dark, and you don’t get what you saw.
    So, if you open an image with the AdobeRGB profile embedded and you aren’t warned, you’ll be working with a different color space and your file will look awfully different in the website.