ICC Profile Conversion Settings: GIMP, Krita, digiKam/showFoto, Cinepaint

This color management tutorial explains the ICC color space profile conversion options for four free/libre imaging programs: GIMP, Krita, digiKam/showFoto, and Cinepaint. It's important to make the right choices for your image editor's default ICC color space profile conversion settings because the default settings determine how your images are displayed on your monitor screen.

Written July 2012. Updated March 2015.

Some of the information on this page is outdated. In particular, Krita settings have changed slightly (for the better, I might add, but as of version 2.9, Krita still doesn't provide for soft proofing and also still doesn't allow the user to assign a new ICC profile to an image). GIMP 2.9 from git (but not GIMP 2.8) does now allow the user to choose black point compensation.

As of March 2015, GIMP 2.8, Cinepaint, and digiKam/showFoto Color Management Settings (through digiKam versions 4.7) haven't changed since 2012. I don't have any plans for updating this page any time soon, so bear in mind that the Krita 2.9 (and I believe as far back as Krita 2.6 or 2.7) settings aren't exactly the same as Krita 2.4, which was current in 2012.

If all you really want to know is "what settings should I use", see Table Note A. The different image editors all have their quirks, so you might want to skim the notes that pertain to your preferred image editor. If you don't know what a conversion intent is, see ICC Profile Conversion Intents.

Screenshots of Cinepaint (valid for all versions not running Oyranos), GIMP-2.8, Krita 2.4, and digiKam/showFoto Color Management Settings dialogs (valid at least through digikam 4.7)

Cinepaint Color Management Settings:

Cinepaint color management settings are under "File, Preferences, Color Management". In this screenshot, I've set Cinepaint up to use a lookup-table monitor profile created specifically to display sRGB images. Potential issue: There are additional Cinepaint options to consider if Cinepaint has been compiled with Oyranos support. I compiled Cinepaint from source and was not able to get the Oyranos plugin to work, which is fine with me as I find the Oyranos settings to be completely unuseable: The Oyranos settings seem designed to enforce particular sets of color management choices based on "per task" settings that just aren't applicable to an individual artist working in his or her own personal digital darkroom.

GIMP 2.8 Color Management Settings:

GIMP color management settings are under "Edit, Preferences, Color Management". In this screenshot, I've set GIMP up to use a matrix monitor profile. Notice that GIMP specifically says "Display rendering intent"). Potential issue: Unlike the other image editors, GIMP does not provide a check box for choosing whether or not to use black point compensation. GIMP uses black point compensation when "relative colorimetric" is chosen as the Display (default) rendering intent, and does not use black point compensation when "perceptual" is chosen as the Display rendering intent. (GIMP 2.9 from git provides for black point compensation.)

Krita 2.4 Color Management Settings:

Krita color management settings are under "Settings, Configure Krita, Color Management". Potential issue: To access the Krita Color Management Settings settings dialog requires opening an image first; otherwise the "Configure Krita" option does not appear under "Settings". Note: the Krita settings changed perhaps by Krita 2.6, adding some additional and very useful options.

digiKam/showFoto Color Management Settings (valid at least through digikam 4.7):

digiKam/showFoto color management settings are under "Settings, Configure showFoto, Color Management", under the "Profiles" and "Advanced" Tabs (shown above; also see digiKam/showFoto Settings for Color Management: Behavior Tab"): the digiKam/showFoto "Advanced" tab is where you choose the default color conversion intent and also whether or not to use black point compensation.

Table Summary of the GIMP, Krita, digikam/showFoto, and Cinepaint ICC profile conversion options

The table below summarizes the ICC profile conversion options for Cinepaint, GIMP, Krita, and digiKam/showFoto (henceforth sometimes referred to simply as "digiKam"). The table has three major column groups because color-managed image editing software typically allows you to set ICC color space profile conversion options in three different places:

  1. In your image editing software's Preferences/Color Management Settings ("Color Management Settings" for short) dialogs, where you can choose the default color conversion settings. See notes A through E for details. These default profile conversion intent settings are used to display images on your monitor screen.
  2. In the dialog that pops up when you deliberately convert an image from one ICC color space profile from one to another. See notes F through H for details.
  3. In the dialog that pops up when you soft proof an image before converting it to another color space. See notes J through N for details.

The notes for each image editor include "Potential issues" to consider when setting ICC profile conversion options using that image editor.

Image Editor ICC Color Space Profile Conversion Options
1. Display an image — the Color Management Settings dialogA 2. Convert an image from one ICC profile to another 3. Soft proof an imageI
Intent menu BPC box Settings change takes effect Intent menu BPC box Proof & monitor intent, BPC settings Proof & monitor profile settings Settings change takes effect Edit while soft proofing?
Cinepaint 1.0 YesC YesC As soon as it's setB YesF YesF Yes Yes As soon as it's set YesJ
GIMP 2.8.0 YesD NoD As soon as it's setB YesF YesF Yes Yes As soon as it's set YesK
Krita 2.4.1 YesE YesE Requires restartB YesG No, use Color Management SettingsG - - - - (?)L
digiKam/showFoto 2.6.0 YesE YesE Requires restartB No, use Color Management SettingsH No, use Color Management SettingsH No, use Color Management Settings No As soon as it's setM No (?)N

Notes for the GIMP, Krita, digiKam/showFoto, and Cinepaint ICC profile conversion options

  1. Table Column 1: Display an image — the Color Management Settings dialog
    1. In a color-managed image editor, in order to display an image on a monitor screen, the software must convert the image from whatever ICC color space it happens to be in, to the monitor color space profile. This on-the-fly color conversion doesn't affect the actual image file; it only affects what is displayed to the screen.

      All four image editors considered on this page use the default ICC color space profile conversion Color Management Settings — that is, what intent to use and whether or not to use black point compensation — to control how an image is displayed to the monitor screen.

      So the answer to "What default color conversion intent should I use?" is "Whatever color conversion intent you want to use when viewing an image on your monitor screen":

      • If your monitor profile is a matrix profile (probably the more common case), 99 times out of 100 the answer is "relative colorimetric, with black point compensation".
      • If your monitor profile is a lookup table profile, 99 times out of 100 the answer is either "relative colorimetric" or "perceptual" — when and why to use one or the other and whether to use black point compensation is beyond the scope of this article.

      Potential issue: GIMP and digiKam/showFoto also use the default Color Management Settings if, upon opening an image, you allow either program to convert the image to whatever default working space you may have set in the Color Management Settings. If your default working space is a matrix profile (the usual case), and your monitor profile is a matrix profile, then 99 times out of 100 "relative colorimetric, with black point compensation" will work just fine for screen display and also for converting to your default working space.

    2. With Cinepaint and GIMP, changes in the Color Management Settings default color conversion options immediately affect what is displayed on the screen. With digiKam/showFoto and Krita, you need to restart the program before changes in the default Color Management Settings color conversion options will affect how the image is displayed on the screen.
    3. With Cinepaint, the choices that you make under "View, Rendering Intent" allow you to override the choices you make in the Color Management Settings. The choices made under "View, Rendering Intent" affect each open image individually.

      Potential issue: Cinepaint screen display is very good — it even displays linear gamma images correctly. However, sometimes Cinepaint gets confused. If the screen display looks funny, save your image, check and save your color management settings, then restart Cinepaint. (On a related note, if it has been awhile since you've used Cinepaint, Cinepaint 1.0 seems less prone to crashing than previous versions of Cinepaint. On an updated related note, I gave up on installing Cinepaint sometime in 2014, as Gentoo portage doesn't carry it any more and my efforts to install Cinepaint from source failed.)

    4. Although GIMP allows you to choose a default color conversion intent via the Color Management Settings, GIMP does not provide the option to enable black point compensation via the Color Management Settings.

      Potential issue: It seems that GIMP always uses black point compensation when displaying an image on the screen, if you choose "relative colorimetric" as the default ("Display") conversion intent; otherwise black point compensation is not used, at least not for displaying an image to the screen.

      Potential issue: GIMP actually provides two different ways to color manage an image displayed to a monitor screen: via the Color Management Settings ("Edit, Preferences, Color Management"), and also via "View, Display Filters, Color Proof". If you use the Color Proof Display Filter, you do have access to a "use black point compensation" check box. GIMP's "Color Proof" filter needs to be activated individually for each image. You need to disable the Color Management Display Filter if you want to use the Color Proof Display Filter — otherwise the two filters create an additive effect. GIMP's Color Proof Display Filter also allows you to change the color conversion intent on an image by image bases.

      Potential issue: After experimenting, I decided to not use GIMP's Color Proof Display Filter, even though it provides access to a "use black point compensation" check box and makes it possible to change the color conversion intent on an image by image basis. On my monitor the Color Proof Display Filter causes a distinct magenta color cast in image highlights. I know from previous testing that I get the same color cast when using sRGB as my monitor profile. So I've concluded that the Color Proof Display Filter isn't fully color-managing the monitor display.

    5. Krita and digiKam/showFoto both allow you to set the default color conversion intent via the Color Management Settings, and also set whether or not to use black point compensation.

      Potential issue: Unlike Cinepaint, as far as I have found, neither Krita nor digiKam/showFoto provide a way to change the color conversion intent used to display an image to the screen on an image by image basis. That is, there doesn't seem to be any functional equivalent to Cinepaint's convenient and very useful "View, Rendering Intent".

  2. Table Column 2: Convert an image from one ICC profile to another
    1. Cinepaint and GIMP each offer the same choices when you choose to convert an image from one color space to another. Via a popup box, they both offer a choice of all four conversion intents, plus a choice of whether or not to use black point compensation, plus a drop-down box listing available ICC profiles.

      To access the color conversion dialog with Cinepaint, choose "Image, Convert using ICC Profile".

      To access the color conversion dialog with GIMP, choose "Image, Mode, Convert to Color Profile".

    2. Krita's color conversion dialog ("Image, Convert Image Type") conveniently breaks down the available destination color space profiles according to whether the destination space profile is a CMYK profile, a Lab or XYZ profile, an RGB profile, or a Grayscale profile. Krita offers you a choice of all four conversion intents.

      When doing a color conversion, Krita does not offer a choice of whether to use black point compensation or not. In Krita, whether or not to use black point compensation is controlled only through the Color Management Settings dialog. Which means that unless you always use the same color conversion options every time you convert an image from one ICC profile to another, before you make a color conversion you need to:

      1. Check the Color Management Settings settings to verify and possibly change whether black point compensation should be used or not (as far as I can tell, this change does not affect what you see on the screen unless you restart Krita).
      2. Make your color conversion.
      3. If necessary, go back to the Color Management Settings settings and reset the option to use or not use black point compensation to whatever default setting you would like it to be when displaying images on your monitor screen.
    3. The digiKam/showFoto color conversion dialog ("Color, Color Space Conversion") is a bit unusual. Like Krita, when you convert an image from one ICC color space profile to another, digiKam/showFoto does not provide a check box for whether to use black point compensation or not. Unlike the other three image editors, digiKam/showFoto also does not present you with a list of conversion intents.

      If you don't want to use (or have forgotten) the default settings that you already chose in the Color Management Settings (third tab, "Advanced"), then before you make a color conversion using digiKam/showFoto you need to:

      1. Make appropriate changes in the Color Management Settings to the color conversion intent and whether to use black point compensation (these changes will not affect what you see on the screen unless you restart digiKam/showFoto).
      2. Go back to the color conversion dialog and make your color conversion.
      3. Go back and change the Color Management Settings to whatever settings you want to govern how images are displayed to your monitor screen.

      If the destination profile that you want to use is one of digiKam/showFoto's "special" color spaces (an sRGB profile, an AdobeRGB profile, a Widegamut profile, and a Scarse ProPhotoRGB profile), or if the profile has been used recently, then it appears in a drop-down list of possible destination profiles. Otherwise, in the same drop-down list, you can select "Other", which will allow you to choose another ICC profile. "Other" leads to what is properly speaking a soft proofing dialog; see note L below.

  3. Table Column 3: Soft proof an image
    1. Soft proofing is something that you might want to do before making a conversion from one color space to another.

      The best article I've ever read on soft proofing is Understanding Soft Proofing. The article is extremely Photoshop-centric, but with suitable modifications the instructions can be used with Cinepaint and GIMP. The Luminous Landscape article assumes that you intend to make a paper print using your own printer, paper, and preferably custom printer profile. However, the principles are directly applicable when soft proofing from a larger RGB working space to the sRGB color space for display on the web.

    2. Cinepaint's soft proofing options are reached via:
      1. "File, Preferences, Color Management, Proof Profile"
      2. "Image, Assign ICC Proof Profile"
      3. "View, Proof Display"
      4. "View, Simulate Paper"
      5. "View, Gamut Check Display"
      6. "View, Rendering Intent"

      The Cinepaint soft proofing options allow you to open two or more copies of the image and preview the effect of different color conversion options combined with different destination profiles. Even the monitor profile can be proofed, so you can check to see which colors are out of gamut with respect to your monitor profile. You can also edit the copy (or the original, if you don't choose to open a copy), while soft proofing, before doing the actual conversion to the destination color space profile.

      Left: Cinepaint crop from a raw file, processed and saved in the ProPhotoRGB color space. Right: Soft-proofed to the sRGB color space, out of gamut colors are marked in gray.

      Potential issue: The third relevant color space profile is, of course, the profile for the monitor on which the images are displayed. My LCD monitor can show reds and yellows that are outside the sRGB color space gamut, but much of the ProPhotoRGB color space is far out of gamut with respect to what my monitor can show. Which means I don't know what some of the colors in the ProPhotoRGB image on the left really look like. And unless you have some kind of super-monitor, neither do you when you save or produce while editing saturated colors in the ProPhotoRGB color space.

      Cinepaint allows you to set the soft proofing options both globally (via "File, Preferences, Color Management, Proof Profile") and on an image by image basis, quickly and conveniently, via the "View" options. Which means you can open two or more copies of the same image while soft proofing, editing one and keeping the other open for comparison.

      Editorial comment: Maybe it's just me. But I find it deucedly difficult to work with masks and layers in Cinepaint. And I find the tiny "curves" interface to be essentially impossible to work with. Which is why I don't use Cinepaint very much for editing and why I heartily wish Krita had soft proofing capabilities and GIMP had easier-to-use soft proofing capabilities.

    3. GIMP's soft proofing options are reached via:
      1. "Edit, Preferences, Color Management, Mode of operation, Print Simulation"
      2. "Edit, Preferences, Color Management, Print Simulation Profile"
      3. "Edit, Preferences, Color Management, Softproof rendering intent"
      4. "Edit, Preferences, Color Management, Mark out of gamut colors" (where you can choose which color to use to mark out of gamut colors)

      Potential issue: GIMP only provides for global soft proofing settings, so there is no way to have the image open twice for easy comparison of the soft-proofed version to the original version; an obvious work-around is to open the original in another image editor. Also, in GIMP, changing the settings (eg enabling and disabling "Mark out of gamut colors") requires multiple menu clicks. (There are several GIMP soft proofing plugins, none of which are discussed here.)

    4. If Krita provides a way to soft proof an image before converting it from one color space to another, I haven't yet found it anywhere in the various menu dialogs.
    5. To get to what seems to be the digiKam/showFoto soft proof dialog, choose "Color, Color Space Conversion, Other" (even if the destination profile is already shown in the drop-down menu list, choose "Other").

      Potential issue: As stated in note H above, in digiKam/showFoto the only way to change the color conversion intent and whether or not to use black point compensation is via the Color Management Settings. Normally with digiKam/showFoto you need to restart the program before changes in the default Color Management Settings color conversion options will affect how the image is displayed on the screen (see note B). However, when using "Color, Color Space Conversion, Other", alterations in the default Color Management Settings color conversion settings immediately take effect, but they take effect in the "before" rather than the "after", which negates any benefit of soft proofing.

    6. digiKam/showFoto's "Color, Color Space Conversion, Other" dialog doesn't support image editing while soft proofing. However, the second tab of the digiKam/showFoto Color Management Settings allows you to pick a soft proofing profile (only for printers, not for the web or from camera to working space, or from one working space to another), so possibly there is a second soft proofing dialog in digiKam/showFoto that I haven't found yet.

Summary and Conclusion: Display, Convert, Softproof — one size doesn't fit all

Awhile back I received an email requesting that I write a tutorial covering the "Advanced" tab of the digiKam/showFoto Color Management Settings. This is that tutorial and I do apologize for taking such a long time to write it.

As you can see from the digiKam/showFoto screenshot, the "Advanced" tab only has two items: which ICC profile conversion intent to use and whether to use black point compensation. So an explanation ought to be equally short and to the point, yes? The problem is, that poor little digiKam/showFoto "Advanced" tab provides the settings (not just the default settings, but rather the only settings) for three completely separate and distinct ICC profile conversions:

  1. Converting an image to the monitor profile for displaying the image to the monitor screen
  2. Converting an image from one ICC profile to another
  3. Softproofing an image before converting it

The problem is, there is no "one size fits all" ICC profile conversion setting:

  • There is no reason to assume that the user will always want to use the same conversion intent for displaying an image to screen, converting an image from one ICC color space profile to another, and when soft proofing an image.
  • There is no reason to assume that the user will always want to use, or not want to use, black point compensation.
  • There isn't even any reason to assume that the user will always want to use the same color conversion settings, all the time, for any one of the three ICC profile conversions listed above, much less for all three.

The only place the digiKam/showFoto user can change which color conversion intent to use, and whether or not to use black point compensation, is in the Advanced tab. Unfortunately, using that Advanced tab to change the ICC profile conversion settings is not exactly convenient. If you want to change the settings for displaying an image to the screen, you have to restart the program. If you change the settings to do an image conversion, you have to change them back to the settings that you want for displaying an image to the screen. And on a related note, if you are converting an image from one ICC profile to another, and you want to choose an ICC profile that isn't already in one of the folders that digiKam/showFoto searches upon startup, you have add the requisite folder and then restart the program.

Krita somewhat resembles showFoto, except that Krita does offer the user a choice of color conversion intents when converting an image from one profile to another, without having to resort to changing the default settings. However, if you want to change whether or not to use black point compensation, again the only place to make that change is in the default settings.

In actual practice the situation is not a bad as I might have made it sound. Setting your defaults to "relative colorimetric, with black point compensation" will cover most cases, most of the time, quite nicely. But as soon as a user wants to use a lookup table profile with multiple intent tables, or wants to handle mismatched black points directly rather than by using black point compensation (the "poor man's" gamut mapping), the "one size fits all" approach starts to feel a little confining.

It seems to me that Cinepaint and (to a very slightly lesser extent) GIMP offer reasonable, flexible, and easy to use color conversion options. And that is one of the reasons why I wrote this tutorial using a "explain/compare/contrast" approach. I'm kinda hoping that maybe some of that GIMP/Cinepaint "color management goodness" might make its way into digiKam/showFoto and into my newly discovered and very most favorite editing program (well, along with GIMP 2.9 from git, suitably modified), Krita (if you haven't tried Krita lately, you should; and if you haven't tried Krita 2.9, it's awesome).

This tutorial is based on a lot of tedious back and forth testing and comparison. If you catch any mistakes, or if I've made any conceptual errors, or if a new version of one of the image editors discussed above makes something I've said obsolete (this article was written in July, 2012, and free/libre software changes fast), I would be very grateful if you would let me know.