[Digikam-devel] CMS beginner question

F.J.Cruz fj.cruz at supercable.es
Thu Feb 9 22:21:49 GMT 2006


El Jueves, 9 de Febrero de 2006 13:12, Thorsten Schnebeck escribió:

A lot of things!! :-D

Well Thorsten, before you read what I'm going to say you, you have to take in 
account I'm not an expert with color management stuff, I only know the API 
that a Color Management System offers to me.

Ok, let's go:

Each device we use to produce/storage/modify an image has its own set of 
colours, this is, each device can produce or reproduce a fixed set of colours 
that we can call "the color gamut" of the device. This color gamut will vary 
widely with differents devices. This means that some colors will not be the 
same when produced on two different devices. 

The role of color management is to determine what coded values are needed on a 
given device to produce the desired color and this is done using the ICC 
color profiles: digital data file in a standardized format, which defines the 
color gamut of a specific device.

A Color Management Module (we are using Little-CMS) is a conversion engine 
which translates the pixels colors from a color space to another color space. 
A color profile is a set of tables of parameters and mathematical matrix 
coefficients or raw color values describing the target gamut in a standard 
format.

During the conversion, some colors of the asigned color profile will be out of 
gamut and they will be clipped, this is, they'll be changed to a similar (but 
different) color or de-saturated (pushed to the edge of the gamut).  There 
are four primary algorithms for handling this conversion and they are called 
"rendering intents": Perceptual Intent, Saturation Intent, Absolute 
Colorimetric Intent, and Relative Colorimetric Intent.

On the other hand, the icc color profiles can be of three diferents types:

- Inputs profiles (cameras and scanners): an input profiles describes the 
color gamut of a camera or scanner. All cameras and scanner "read" the color 
in RGB. These are "one direction" profiles, this is,  we can translate from 
device coordinates to absolut coordinates. The profile can also contain one 
dimension curves that can be linears or non linears, altough the purpose of 
theses curves are not specified and depend on the app which buids the 
profile.

- Display profiles (monitors): a display profile describes the color gamut of 
a TFT or CRT monitor or a workspace (we can thinkg about it as an "ideal" 
monitor). It's a two-direcctions profile: we can do transform from it or to 
it (from RGB to PCS or from PCS to RGB).

- Output profiles (printers and film recorders): these are two-directions 
profiles too. An output profile can be RGB or CMYK.

Basically this is what a ICC color profile is and how it works.

About this:

> How can this manual adjustment be allowed when using an e.g.
> colormetric system?

I'm afraid I don't understand your question, sorry. :-(


> Ah! So, what about showing at least the filename when the "vendor
> tag" is empty?

I guess you are talking about info messages in dialog setup. These messages 
show the path to the profile.

Paco.



More information about the Digikam-devel mailing list