underlying / basic concepts of 0.9 colour management?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

underlying / basic concepts of 0.9 colour management?

Daniel Bauer-2
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).

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.

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?

And what exactly is meant by "Soft proof"?

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)

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 :-)

- 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.

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"?
For having a correct display it need's to use my monitors profile, doesn't it?

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.

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?)

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...

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...

A nice weekend to everybody!

Daniel
--
Daniel Bauer photographer Basel Switzerland
professional photography: http://www.daniel-bauer.com
special interest site: http://www.bauer-nudes.com
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: underlying / basic concepts of 0.9 colour management?

Gilles Caulier-2
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
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: underlying / basic concepts of 0.9 colour management?

Daniel Bauer-2
Am Dienstag, 23. Mai 2006 19:25 schrieb Caulier Gilles:

Gilles, thank you very much for your detailled answers to my long
"questions-catalog"!

I've also followed the useful links Thorsten provided, so I hope I understand
a bit better, at least I am working on it... But I still have some more
questions... (As I obviously have some difficulties to distinguish between
the filters used in the darkroom for different lights/emulsions/chemicals...
and those profiles in programs, I don't know if I'm just retro or really
antiquated :-) )

> > 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, do I understand correct if I assume the following?:

- "workspace" is the data that will be saved in the file together with the
appropriate icc profile

- when displaying using "monitor profile" then what I see on the monitor is
the transformation from the workspace to the display

- when I change colours etc. in an image on my monitor (using "monitor"
profile for display) those changes will internally be coverted to the
"workspace" of the file, and others who look at my picture on an other
computer have no need to know *my* monitor profile, but must use their own
monitor profile

- it is always the "workspace" profile that will be saved in the file (and not
"monitor", "input" or "soft-proof")

> > 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.

I don't know, if I just think too complicated, but I'm not sure about the
workfolw. I did some tests on Win using Canons "digital photo professional
1.1" and photoshop and digikam on linux.

I assume the following:

- I embed "wide gamut" in a cr2 file (either directly with canon-prog or
digikam using "input"=canon), and set "workspace" wide gamut" (gives approx.
same result on win and linux).

- displaying this image with a "non-color-managed" program (like a browser,
kuickshow...) gives "wrong colors", as it does no conversion to monitor-srgb

- a) displaying it in digikam using "use color managed view" with "monitor"
profile "srgb" gives approx. good display,
*or*
- b) I change "workspace" settings in digikam to  "srgb" and *uncheck* "use
color managed view" - that gives the same result in display as a)

- the difference between a) and b) is that when saving the picture
  - in a) the embeded profiles remains "wide gamut" and displaying it in a    
    browser gives "wrong" colours
  - in b) the embeded profile changes to "srgb", the data in the file is
    transformed with loss of information, but browsers will display it as I
    have seen it in digikam

Now, if the above is correct (???), let's say, I have a series that I want to
use for printing *and* for the web, then this leads me to the following
questions:

To have the best quality I use "workspace"=wide gamut and check "use color
managed view" to convert the RAW's, do the necessary corrections in
brightnes/color etc. and save them e.g. as tiff's. These tiff's are now
"profiled" and I can give them to a print-shop that will use his profiles to
convert them to his devices, and he'll produce (apporx.) the same colors as I
see on my monitor with my monitor profile enabled. Right?

But now I want to make a version of these pictures that I can use for the web.
If I see it right, then I must change the settings of digikam: "workspace" to
"srgb" and *un*check "use color managed view". Then, when editing the
pictures, they will be transformed to srgb and when I save them (as jpeg's)
they will look good in the browser.

I've done this and it worked so far, but do I really have to change the basic
settings of digikam every time I produce a picture for a different purpose?

Or is there a more easy way that I just haven't seen?

The workflow in Canons Win prog is slightly different:
- "workspace" set to wide gamut
- save as 16bit-tiff saves the same as in digikam
- but save as jpeg atomatically *converts* the picture to srgb and embeds
srgb-profile in the jpeg, while digikam saves the jpg with embedded wide
gamut profile.

This I don't understand, because, if I understood correctly, above you said
"All JPEG image are converted automaticly in srgb workspace"

???

*If* jpeg's would automatically be converted to srgb in digikam, too, then
this would save the step to change the "workspace" settings before producing
pictures for the web: one would simply save them as jpg and the necessary
conversions are done automatically. That's how the canon prog does it. (I
guess).

> > 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.

Yes, I got it now. One can even right-click to get the info... Very good!
>
> Paco, what do you think about ?

I've seen in the internet that "soft proof" seems to be a common word, it's
just me who doesn't understand :-)

Maybe "soft proof/printer" would explain to people who know the terms and at
the same time to people like me ;-)
>
> digiKam can manage 2 differents monitors at the same time (Xinerama).

with different monitor profiles for each monitor, too?

> > 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.

ok, I forget about that :-)

>
> > - 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.

Then to make it clearer maybe the scale should show "less details" and "more
details" or "low" and "high" or what ever is appropriate. Or this info could
be given in the context help.

> 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.

I'm going to do that...
>
> > 3) converting dialog
> >
> > First, why does it want to convert to "workspace" and not to "monitor"?
>
> because it's 2 different points like i have explained before.

This is clear now to me, thanks for explaing the details!
>
> > 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 (:=)))

If I win in Lotto, I'll think about you :-)
>
...

>
> 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...

Very complicated, indeed!

What I still not understand is why the "input" profile is not mentioned in the
transform dialog (like "using xy for input"), as it makes a difference in the
results?  If you have pictures from two differnt cameras in the albums,
you'll get the correct results for one (assumed you entered the right profile
in the settings), but "bad" ones for the other, unless you go and change the
settings.

Of course, I am really a bit slow on the uptake as it seems, but I'm not the
only one ;-) and so a message about the used input profile could serve as a
reminder, that eventually a change in the setting would be necessary. The
possibility to enter another input profile right there would even be
luxurious...
>
> > 4) differences between programs
> >
> The algorithm are certainly different... i have no other explaination...

ok, I'll do it in future like now: I just use the program that gives the
better result for a given picture, sometimes it's digikam, sometimes the
other...
>
> it's always constructive...
>
> Gilles

I try to be constructive, but somehow sometimes I almost feel guilty posting
such an amount of questions...

Daniel

--
Daniel Bauer photographer Basel Switzerland
professional photography: http://www.daniel-bauer.com
special interest site: http://www.bauer-nudes.com
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users