digiKam/showFoto Settings for Color Management: Behavior Tab
The digiKam/showFoto "Settings for Color Management, Behavior Tab" asks the same questions that any good color-managed software will ask: What working space to use, what to do when an image profile doesn't match the working space, and what to do with images that don't have any ICC profile information.
This article walks you through all the "Settings for Color Management, Behavior Tab" options, explains the consequences of each option, and recommends the right settings given your particular workflow.
Written before 2013. Updated February 2015.
Color management settings dialogs ask pretty much the same questions across various image editors. So the information in this article will help you choose the right settings regardless of what software you are using. However, not all image editing softwares offer the user a complete set of color management options. If there's a color management option you want, that your favorite free/libre image editor doesn't supply, file a bug report.
DigiKam/showFoto offers more color management settings options than any other image editing program that I've ever used (over the years, I've used a lot of different image editing programs). This wealth of choice is useless if you don't understand what the options mean.
The digiKam/showFoto color management settings have been relatively stable over time. This article was written for digiKam as it was before 2013. The settings are still the same for digiKam/showFoto version 4.7, current as of February 2015. Even if the digikam color settings change in the future, the information in this article still can be used to figure out what settings you should choose.
If you just want to know which options to pick (without bothering with the whys and why-nots), then read these five bullet points describing an All-sRGB Workflow. If that's your workflow, use the Recommended settings for an All-sRGB Workflow. Otherwise, use the Recommended settings for other workflows.
If you also want to understand the various color management settings options and why one option might be better or worse than another given your own workflow, then this article was written for you. Fair warning, the article is long and if you are new to color management, parts of it might not be easy to understand on first reading. If you have questions, send me an email or ask on the digiKam mailing list — the people on the digiKam mailing list are both knowledgeable and generous with answers.
The Preselected digiKam/showFoto Color Management Settings
digiKam and showFoto offer exactly the same color management settings options. In both programs the color management settings can be found by clicking on "Settings", then "Configure showFoto" or "Configure digiKam", then "Color Management". In this article preselected refers to the digiKam/showFoto Color Management Settings that were in place before you, the user, made any changes to the settings. Figure 1 shows the preselected digiKam/showFoto Color Management Settings.
You might want to open the digiKam or showFoto color management settings dialog and follow along as you read this article. If you've already changed the preselected configuration settings, Figure 1 shows you what the settings looked like before you made any changes.
Enable Color Management
Looking at the preselected "Settings for Color Management, Behavior Tab", the first thing you see is that the option to "Enable Color Management" is already checked. It should remain checked unless you actually don't want to use color management (in which case, uncheck this box and don't read any further, because the rest of this article assumes you do want to use color management).
Choose a Working Color Space
What a working color space is
Working color spaces ("working spaces" for short) are the well-behaved color spaces that you use for image editing, common choices being sRGB, AdobeRGB, BetaRGB, and ProPhotoRGB. In the digiKam/showFoto "Settings for Color Management", just below "Enable Color Management" is a little box labelled "Working Color Space". As you can see from Figure 2, sRGB is the preselected digiKam/showFoto default Working Color Space.
If you don't want sRGB to be your default working space, you can use the drop-down box to pick another working space. If there is a working space that you really do use more often than you use sRGB, then by all means change the preselected working space.
Why the working space you choose matters
Choosing a working space doesn't necessarily prevent you from editing an image in some other working space. But depending on other choices you make on the "Settings for Color Management, Behavior Tab", it might. And depending on your workflow, the right choice for your working space might make opening images that don't have any color profile information easier or more difficult. So your best bet is to review all of the Behavior Tab color management options before settling on a working space.
ICC profile conversion rounding errors and sRGB variants
For many people sRGB is a good choice for a working space. Choosing sRGB as your working space would be a very simple issue if it were not for the fact that there is no single, universally agreed-upon sRGB color space profile. Instead there are multiple versions of the sRGB color space floating around the internet, proprietary software, open source software, and almost certainly also on your own computer.
Most of the time the differences between one sRGB profile variant and the next won't make a visible difference when assigning each in turn to the same sRGB image. But there are rounding errors during any ICC profile conversion, and especially with 8-bit images these rounding errors can start to pile up. So to avoid having your imaging software needlessly convert your sRGB images from one sRGB variant to the next, you might want to choose one sRGB variant to use for all your sRGB images.
Fortunately, the digiKam/showFoto handling of ICC profiles is flexible enough that if you choose the appropriate "Settings for Color Management" options, you can standardize your workflow to use whatever sRGB variant you want. So if digiKam/showFoto offers to convert an sRGB image from one sRGB variant to another, instead of allowing a needless ICC profile conversion you can tell it to assign your preferred sRGB variant. But you only get this degree of flexibility by selecting "Ask when opening the image" as the appropriate thing for digiKam/showFoto to do "When an image has no color profile information".
Speaking for myself, I use different working spaces for different editing purposes, which means whatever working space I choose is going to be wrong most of the time. So I leave the Working Color Space as sRGB. But I don't use the sRGB variant that comes preinstalled with digiKam/showFoto. Instead, because most of my sRGB images come from my Canon digital cameras, I use the Argyllcms "sRGB.icm", which an open source version of sRGB that very closely matches the sRGB profile supplied by my Canon software (update: today I use my own ICC profiles that I make using LittleCMS; the ArgyllCMS profiles are excellent but they are only available as V2 profiles).
When the profile of an image does not match the Working Color Space
Having picked a working color space, next is a very important question: "When the profile of an image does not match the working color space", what do you want to have happen? The two choices are:
- "Ask when opening the image"
- "Convert the image to the working color space"
The preselected choice is "Convert the image to the working color space". This preselected choice is convenient because the software isn't pestering you all the time wanting to know whether it should do a color space conversion or not. It's also dangerous for two reasons: First, as already mentioned above, although for 16-bit images the problem is much mitigated, every time you do an 8-bit ICC profile color space conversion (between any two ICC profiles, not just between different sRGB variants), you lose a little bit of color accuracy from rounding errors.
And second, if your working color space is smaller than the image's original color space, then there is a risk of permanent loss of color and detail. Consider the following scenario:
- Your selected default working space is the very small sRGB color space.
- The image you open is in the very large ProPhotoRGB color space and it contains bright or saturated reds, yellows, greens, cyans, etc, that fall outside the very small sRGB color space gamut.
- You've selected the "Settings for Color Management" option that tells digiKam/showFoto to automatically convert all images that are not already in your working space, to your working space.
- So exactly as you told it to do, digiKam/showFoto automatically converts the image from ProPhotoRGB to sRGB.
The result? You just threw away a lot of detail and color information because all those bright, saturated image colors in the ProPhotoRGB color space that fell outside the very small sRGB color gamut were clipped to the boundaries of the sRGB color gamut. Converting back to ProPhotoRGB doesn't magically reproduce the clipped colors. See What are 'Clipped Colors' from ICC Profile Conversions?" for illustrations showing what can happen when you allow your imaging software to automatically convert all your images to your chosen working color space.
So given the potential for clipped colors and lost details when allowing your software to do automatic color conversions, what do you really want digiKam or showFoto to do? The answer depends on your particular workflow. On the one hand, many photographers and artists use sRGB exclusively. If the following "All-sRGB Workflow" matches your workflow, then despite the potential for clipped colors, the preselected "Convert the image to the working color space" is probably your best choice:
- An All-sRGB Workflow
- You've chosen sRGB as your Working Color Space.
- You only intend to output sRGB images, perhaps for display on the web or to send to an sRGB printer.
- If you shoot raw, you output your interpolated images in the sRGB color space during the raw rendering process.
- If you shoot jpegs, you save the in-camera-generated jpegs in the sRGB color space.
- You would prefer to avoid the inconveniences of color management as much as possible even if it means risking the potential loss of image colors and details because of an automatic conversion from a larger color space to sRGB.
On the other hand, if you don't use an "All-sRGB Workflow", then in most cases you should uncheck "Convert the image to the working color space" and check "Ask when opening the image" instead. Otherwise, you run the twin risks of a loss of color accuracy from ICC profile conversions and the potential for lost colors and details if your chosen working color space is smaller than your image's original color space.
The exception to "in most cases" would be if you really do want to convert the image to the smaller space and you have no means to soft proof the image before the color space conversion . Alas, digiKam/showFoto really isn't set up for soft proofing. So in reality your choices are (1)use some other image editor that does provide for soft proofing, or (2)allow digiKam/showFoto to clip any potential out-of-gamut image colors.
Conclusion: The preselected action, "Convert the image to the working color space" is the right choice for you only if you are prepared to accept or take steps to avert the possible loss of color, detail, and accuracy after an automatic conversion to your chosen Working Color Space. Otherwise, you should change it to "Ask when opening the image". However, if you don't know anything about soft proofing and you intend to convert all your images to your working space, then you might as well keep the preselected action.
When an image has no color profile information
When an image has color profile information, that information is embedded in the image's metadata. Color space information can be a real embedded ICC profile. Or it can be a metadata tag that substitutes for a real embedded ICC profile. For more information about the various types of color profile information, see What does color profile metadata information look like?.
Color-managed software expects to find embedded color profile information in every image file, and if there isn't any, a profile still has to be assigned to the image. Otherwise the image can't be displayed on your monitor screen because the color-managed software doesn't know what RGB values to send to your monitor.
An image that doesn't have any color information embedded in its metadata is called an untagged image. The digiKam/showFoto Settings for Color Management dialog provides what looks like four options for dealing with untagged images. But the second option has a checkbox sub-option that says "and convert it to the working color space", which really means there are five distinct options from which you can choose.
In the list below I've listed all five options separately and also reordered them. So in my reordered list of options the digiKam/showFoto preselected option comes after the option to "Assume it is using the working color space (Interent standard)". You might want to compare the list below with the options in Figure 3 above, just to make sure you understand where each of the five options listed below come from.
- "Ask when opening the image" (this option is the safest but also the least convenient option).
- "Assume it is using the sRGB color space (Internet standard), but don't convert it to the working color space" (the check-box is unchecked; which leave the image in the assumed sRGB color space; this option is convenient for all those times when the image really is an sRGB image, and easy to recover from if the image really isn't an sRGB image)
- "Assume it is using the working color space" (this option might be convenient, depending on your workflow, and is easy to recover from if the image really isn't in your working color space).
- "Assume it is using the sRGB color space (Internet standard) and convert it to the working color space" (the check-box is checked; although this is the digiKam/showFoto preselected option for dealing with untagged with images, you shouldn't use this option because it isn't easy to recover from if the image turns out to not really be an sRGB image).
- "Convert it from default input color space to working space" (this option assumes the image is in the default input color space; you shouldn't use this option because it isn't easy to recover from if the image really isn't in your default input color space).
Let's go through these options for dealing with untagged images to see which choice might be the right choice for you, given your particular workflow:
"Ask when opening the image"
For most people, most untagged images are actually sRGB images. But untagged images can actually be in just about any color space, depending on where they came from and why they don't have any embedded color profile information. So for many and maybe even most people, "Ask when opening the image" is the best choice for dealing with untagged images. This option allows (or forces, depending on your point of view) you to decide what to do with an untagged image on a case-by-case basis.
"Assume it is using the sRGB color space (Internet standard)" but don't convert it to the working color space (the check box is unchecked)
If you are sure that all or almost all of the untagged images that you open with digiKam/showFoto really are sRGB images, then "Assume it is using the sRGB color space (Internet standard) and don't convert it to the working color space" is a convenient choice for dealing with untagged images.
Unfortunately, if you do choose the option to "Assume it is using the sRGB color space (Internet standard)" and sRGB turns out to be the wrong profile for a given image, digiKam/showFoto doesn't give you a chance to choose a different ICC profile (because you told it not to!). Scroll down to How to recover . . . for how to get out of this unpleasant situation.
"Assume it is using the working color space"
If you choose this option and you also chose sRGB as your working space, then this option is functionally equivalent to the previous option to "Assume it is using the sRGB color space (Internet standard) but don't convert it to the working color space". In this case, if you open an untagged sRGB image, the image is automatically and properly tagged with sRGB. But if the untagged image isn't really an sRGB image, then your only option is to close the image and follow these instructions: How to recover . . . .
If your chosen working space is something other than sRGB, then unless you have a reason to believe that most or all of your untagged images are actually in your working space (perhaps for some reason you use a command line tool to convert all your images to your working space and then you strip out all the metadata), this option isn't likely to be a good choice.
"Assume it is using the sRGB color space (Internet standard)" and convert it to the working color space (the check box is checked)
This is the digiKam/showFoto preselected option for dealing with untagged images. This option and the next option below both involve an automatic profile assignment followed by an automatic profile conversion. My best advice is that you deselect this option as fast as possible and select one of the options already covered above. Consider what happens if you keep this preselected option and you open an untagged image that really isn't in the sRGB color space. Just as you told it to, digiKam/showFoto automatically assigns the wrong ICC profile and then automatically converts the image to your chosen working color space.
The fact that your image was assigned the wrong ICC profile and then converted to another color space means that completely recovering your image's original colors might not be possible. If you haven't save the image to disk, recovery is easy. If you have saved the image to disk, you have to convert the image back to sRGB before using Exiftool (or other program of your choice) to remove the embedded ICC profile. Whether you get all your original image colors back depends on the image color gamut and on how extreme the differences are between the sRGB color gamut and the color gamut of your chosen working color space.
"Convert it from default input color space to working space"
Finally! we've reached the last option for dealing with untagged images!
Peeking over at the "Settings for Color Management, Profiles" tab, there is an option to select a default input color space. In my opinion you should never, ever, ever select a default input color space on that second tab. Instead, leave it at "none". Why? Because your digital darkroom might contain dozens of different input color space profiles and none of them are likely to be the right input profile 100% of the time.
For one example, if you shoot raw with a dSLR, your camera profile is an input color space. You might have more than one digital camera, each with its own input color space. And you might have multiple input color spaces for each camera.
For another example, if you shoot film, you probably have one or more scanners, you probably use more than one type of film, and very likely you have an input profile for each scanner/film combination, plus one or more additional input profile for when you scan actual prints.
But let's assume for the sake of argument that the only input profile that you have is for your one and only digital camera. In this case, the digiKam/showFoto "Color Management Settings" preselected option, "Convert it from default input color space to working space", makes perfect sense if and only if the following two conditions are met:
- Every untagged image that ever enters your digital darkroom is the the result of your having rendered a raw file without immediately assigning a camera input profile and without converting the resulting interpolated image file to your chosen working space.
- You always want to assign the same camera input profile to your raw files.
The obvious question is why don't you just assign this camera input profile during the raw rendering process and avoid producing an untagged image? But let's say that for some reason the two conditions listed above make sense for your particular workflow. To show you how far wrong this option can go if you open an image that really isn't one of your decoded but untagged camera files, consider the following scenario:
- Your working space is AppleRGB, which is smaller than sRGB.
- You open an untagged 8-bit image.
- That untagged image is really an sRGB image, and it has a lot of saturated colors.
Then exactly as you told it to, digiKam/showFoto assigns your camera input profile (which no doubt will make your sRGB image look very funny) and then converts the image to AppleRGB. If you haven't save the image to disk, recovery is easy. If you have saved the image to disk, you have to convert the image back to the assigned camera input profile before using Exiftool (or other program of your choice) to remove the embedded ICC profile. Unfortunately there is a chance that some of the more saturated image colors were clipped by the initial conversion from your erroneously assigned camera input profile to your working space, plus there were the inevitable rounding errors from doing ICC profile conversions on an 8-bit image.
What's the best option for when an image has no color profile information?
For many people, the best option for dealing with untagged images is "Ask when opening the image". In my own digital darkroom untagged images are just as likely to be untagged decoded raw files as they are to be untagged sRGB images, so this is the option that I use.
If almost all untagged images that enter your digital darkroom are sRGB images, then "Assume it is using the sRGB color space (Internet standard), but don't convert it to the working color space" is a good choice. If you know that the vast majority of your untagged images are in your chosen working space, and especially if you use an All-sRGB Workflow (because in this case sRGB is your working space), then "Assume it is using the working color space" might be your best choice. In either case, backing out of the occasional incorrect automatic profile assignment is easy enough to do.
The remaining two options for dealing with untagged images — "Assume it is using the sRGB color space (Internet standard) and convert it to the working color space" and "Convert it from default input color space to working space" — are too risky to use because they involve an automatic profile assignment following by an automatic profile conversion. This double automatic assignment and conversion is not so easy to back out of if the initial color profile assignment was incorrect, and you aren't assured of getting all the original image colors back without rounding errors and/or color clipping.
When loading a RAW file with uncalibrated colors
The last question on the first tab is: "When loading a RAW file with uncalibrated colors", what do you want to have happen? The three choices are:
- "Ask for the input profile"
- "Automatic color correction"
- "Convert it from the default input profile"
- "Fast and simple, as 8-bit image"
- "Using the default settings, in 16-bit" (the default settings are on the Default Settings tab)
- "Always open the Raw Import Tool to customize settings"
Considering all possible combinations of options for opening raw files would require a whole separate article. So I'll just tell you the combinations of raw decoding options that give you first, the most control, and second, the least control over the raw decoding process:
On the one hand, if you want the absolute maximum of control over how your raw files are decoded, then under "Settings/Configure (showFoto or digiKam)/RAW Decoding", on the Behavior tab choose "Always open the Raw Import Tool to customize settings". If you have your own custom camera input profile, then under the Color Management Settings, Behavior tab, "When loading a RAW file with uncalibrated colors", choose "Ask for the input profile". Otherwise, choose "Convert it from the default input profile". These settings are shown in Figure 5.
On the other hand, if you want digiKam/showFoto to automatically decode your raw files for you and output 8-bit sRGB images, with no control whatsoever regarding how the decoding is done, then under "Settings/Configure (showFoto or digiKam)/RAW Decoding", on the Behavior tab choose "Fast and simple, as 8-bit image". And under "Settings for Color Management, Behavior tab" choose "Automatic color correction". These settings are shown in Figure 6 below:
Screenshots of recommended digiKam/showFoto "Settings for Color Management, Behavior Tab"
Here are screenshots of my recommended settings, first for an All-sRGB Workflow, then for all other workflows. But of course you should make the color management choices that fit your workflow.
Recommended settings for an All-sRGB Workflow
Recommended settings for other workflows
Well, that's it for the digiKam/showFoto "Settings for Color Management", Behavior tab. See ICC Profile Conversion Settings for recommended settings for information about the "Profiles" and "Advanced" tabs.