[Digikam-users] underlying / basic concepts of 0.9 colour management?

Caulier Gilles caulier.gilles at kdemail.net
Tue May 23 18:25:13 BST 2006


Le Samedi 20 Mai 2006 07:05 PM, Daniel Bauer a écrit :
> Hello everybody
>
> I am still trying to become an expert in color management while testing
> 0.9.0 ;-)
>
> While reading (again) thru my years-old photoshop books and spending hours
> in google and on colour websites some questions are coming up and I'd like
> to start a discussion here with pointing out some of them. Developpers:
> please do *not* take this as criticism on your great work, which I truly
> estimate and admire!
>
> My goal is not only to get a better understanding myself, but also - maybe
> - to help clarify for the users what the basic concepts of color
> managements in digiKam are and eventually identify what and how things must
> be explained and named in the digiKam dialogs and hand book.
>
> 1) ICC profile settings
>
> The basics of what a color management system (CMS) does is explained very
> understandable on the digikam.org website (Color Management) by Paco. He
> points out, that there are 3 types of icc color profiles (input, display,
> output).
>
> But digiKam 0.9.0 asks for 4 profiles, and they are named differently:
> - Workspace
> - Monitor
> - Input
> - Soft proof
>
> While it is quite clear what "Input" and "Monitor" stand for, the other two
> names are confusing to me...
>
> As much as I understand (please correct me, if I'm wrong) the "Workspace"
> represents the internal colour gamut or space of the CMM (colour management
> module or colour engine).

yes

>
> Said very simplified: the CMM "takes in" the camera picture, places it
> according to the input profile in it's own colour space, then does the
> calculations according to the display or output device profile and finally
> gives out the transformed picture.

yes but internally in editor, the image data are in working space, and 
displayed using monitor profile. In fact, there is 2 images : the 
"workingspace image", and the monitor adapted image. This is why when you use 
monitor profile, it take a while.

Like all monitor work in sRGB color space, and if your workspace is sRGB, it's 
not necessay to use monitor profile.

>
> So that this is possible in every case, from any input to any output, the
> colour of the CMM space must be "big" enough to accept any given range of
> colours, because otherwise it could happen, that a specific input "has no
> place" in CMM's own space, therefore leading to errors. In my eyes then the
> CMM's workspace can only be CIELAB, that can take every possible colour.
>
> So why does digiKam ask for a workspace profile? digiKam sais, this is the
> "editor"-space, but I edit on my monitor, which would be the display
> space..., now what am I getting wrong here?

Typically, there are 3 workspaces for digiKam image editor (it work in RGB 
color space) :

-sRGB like monitor : it's used to render image on the web. This is a very 
restricted gamut (look icc profile triangle diagram). All JPEG image are 
converted automaticly in this workspace. This is why i hate JPEG (:=)))

- Adobe RGB : better than sRGB but not optimum. used to have a better storage 
of colors. It's a good compromise.

- Wide Gamut : the best : used to professional printing image. I always use 
it.

Important : if you use Wide Gamut to process your image, you can convert it to 
sRGB later without lost color quality. The invert is not true ! sRGB to Wide 
Gamut/Adobe RGB will give graduate color !

This is why a pro-photograph must always use RAW file, and process later with 
the right color space acording to the distination of image : web, simple 
printing, pro-printing.

>
> And what exactly is meant by "Soft proof"?

thisis the profile used with your printer ! Use Shift+F1 for more information 
in dialog setup. But i'm agree with you, Soft proof is not really user 
friendly. Perhaps we need to use an another term here. 

Paco, what do you think about ?

>
> I'd rather prefer another setting, for printer-output (besides of what
> Gilles already indicated in another mail: that a user can have different
> input, devices, cameras, files; different printers; even two monitors
> attached, but only one ICC setting..., but that's another story, for later,
> I guess)

digiKam can manage 2 differents monitors at the same time (Xinerama).

>
> 2) IO files settings
>
> This might be my personal inability, but I just don't get what the
> following really means/does:
>
> - ICC profile correction during decoding
> To get acceptable results I have to "disable" this. Then when opening a
> picture in the editor I am asked if I want it to be processed. As it then
> processes according to the settings I gave on the ICC page, I don't
> understand why there is a difference to selecting "using digiKam ICC
> settings". Maybe this is just a question of clear wording or my lack of
> english, but I just didn't find out, what the explaning text tried to tell
> me :-)

Intead to use digiKam core to process ICC color transformation, this can be 
done by dcraw itself. This option it just for debuging (compare the result). 
Normally, you will the same result because dcraw use also lcms to preform 
these transformations. I think that i will remove this option later.

>
> - enable RAW decoding quality
> I tried with different settings from 0 to 3 but couldn't see a difference.
> Well, I don't have a super monitor nor did I use a special colour chart,
> but in a simple photo I can't find any significant changes.
> Without further explenation it is also not clear for what purpose one
> should check "enable" and the set to 0, as zero in my eyes is the same as
> "nothing" (unchecked). I just guess, that there *is* a difference between
> leaving the box unchecked or check it and set to 0. To me it is not clear
> what the purpose of this setting means.

The difference are in the image details. I'm always use 0 settings. I think 
this algorithm will be optimized in the future in dcraw. i recommend you to 
update reguliary your dcraw installation. Look in the dcraw project page. 
Just download the dcraw.c file and compile it following the instructions 
given.


>
> 3) converting dialog
>
> Such as I have set it now, when opening a raw image I am asked the
> following:
>
> "this picture has not assigned any color profile.
> Do you want to convert it to your workspace color profile?"
>
> Now, this again is very confusing to me:
>
> First, why does it want to convert to "workspace" and not to "monitor"?

because it's 2 different points like i have explained before.

> For having a correct display it need's to use my monitors profile, doesn't
> it?

I never use it in fact. It's too slow on my computer (a poor laptop at 650 
Mhz... donation welcome (:=)))

Enable it if you have large pro-monitor used in photography...

>
> Then, *from* what is it converting?
> It is definitively not converting from nothing, i.e. just from the raw file
> without any profile, because it uses at least the input *and* the workspace
> (or monitor?) profile. I know, because changing *only one* of them in the
> ICC-settings leads to different results.
>
> So, IMHO actually there *is* as profile assigned to the picture, namely the
> input profile.

no, the worksapce profile is stored in image. Look color sidebar tab. input 
profile is used before to store image in editor using camera LUT !

>
> I don't know, but maybe the correct sentence would be "there is no color
> profile *embeded* in the picture" - this at least would be true in the
> given case... And then, shouldn't both, the names of the applied input
> *and* output profile be displayed, just for making things clearer? (Or even
> better [later]: asked, which ones one wants to use in the given case, with
> defaults from settings?)
>

In fact there is 2 ICC workflow that digikam try to homogenise :

1 - JPEG/TIFF/PNG can include an icc workspace profile. The color of image 
have been already processed.
2 - RAW file : there is no workspace profile. Normal, the color have never be 
processed by the camera. You need to do it in editor.

And now we have a problem : ALL camera convert JPEG/TIFF image into sRGB color 
space but don"t incluse the workspace profile like a metadata. This is suck 
roally... JPEG/TIFF/PNG support ICC profile embedding....

I think we need to add an option to not perform an icc color wrokspace 
transformation, because this operation have been already done by the camera 
(JPEG for example), and include this profile automaticly in image likea 
metadata (in camera interface for example, suring download)

In fact digiKam check if an embedded profile is available to check if the 
image color have already transformation to the right working space. This is 
cannot be use with all JPEG file from camera. If you enable ICC color 
management and you use always JPEG file, digiKam will ask to you if you want 
to transform it (not really suitable), or convert it automaticly (in this 
case the color will be broken)

Paco, this is a new point for you. I need your viewpoint here...


> 4) differences between programs
>
> IMHO one main purpose of using ICC profiles is that a picture looks the
> same in any program that is capable to apply profiles. But when I use the
> same profiles in digiKam and in UFraw I get very different results...


The algorithm are certainly different... i have no other explaination...

>
> I tend to think that this has something to do with the "Workspace"-setting
> discussed above, as UFraw only asks for in- and output profiles (seems more
> logic to me), but of course I have no idea about the internal or
> programming differences between those applications.
>
> Well, that's it for now. I hope I'm not the only one who finds these
> questions interesting...

it's always constructive...

Gilles



More information about the Digikam-users mailing list