LAB Channels type and Babel

Kai-Uwe Behrmann ku.b at
Fri Apr 21 12:03:27 CEST 2006

Hello all,

working on CinePaint on printing and grading integration, it was as well 
my starting point to develop various colour management tools. They are 
partitially available from my website.

My impression was allways to not make colour ranges as specific like 
the ranges for channels among traditionalists and colour scientists. 
Remember for Cmyk one need the 0...100 range for Lab it is even different 
for two channels (L and a+b) including signdness, for XYZ and RGB is 0...1 
to be expected. 
Different ranges exist in different Lab encodings and bit depths. See the 
ICC and Tiff specs. What makes sense from a traditionalists point of view 
is pointless for imaging applications. The value ranges are inherited from 
very device dependent workflows. I'd like to break with that and did 
inside CinePaint.

Such Bable style ranges becomes unmaintainable, or at least hard to keep 
in sync and are error proune. As well it introduces a certain overhead 
for range conversions and checks. Possibly extra structures are needed to 
keep everything in sync. I experienced such things in my early days. 
Nearly every developer stepping in this matter is irritated by this.
Thats not good.

My suggestion is to 

                          Keep it Simple.

Thus most errors will dissapear. The exeption comes with labeling, for 
instance in a curve editor for various channel types. At least the curve 
is allways applied the same to the channel data. Only the label must be 
set appropriate.

When I start on the CMM code in Oyranos I will keep colour ranges 
in the proposed simple model. The only exeption may be fixed point data.

Sorry if my post is a bit long for the first time. But the subject 
is going a long way eighter.

kind regards
Kai-Uwe Behrmann
                                + development for color management 
                                + imaging / panoramas
                                + email: ku.b at

Am 21.04.06, 10:56 +0200 schrieb Casper Boemann:

> I did it like that originally, but adrian changed it, which fixed the 
> display so somehow unsigned is right
> Adrian may be able to tell you more
> best regards
> Casper
> ----- Original Message ----- 
> From: "BERGER Cyrille" <cberger at>
> To: "Krayon (KImageShop)" <kimageshop at>
> Sent: Friday, April 21, 2006 10:43 AM
> Subject: LAB Channels type
> > Hi,
> >
> > I think the LAB Channels type are wrong in krita. We declare all of
> > them as Q_UINT16, whereas L is Q_UINT16 but A and B are Q_INT16. I
> > don't know how much it is a problem, but I do think it's confusing not
> > to have the good definition.
> >
> > --
> > Cyrille Berger
> > _______________________________________________
> > kimageshop mailing list
> > kimageshop at
> >
> > 

More information about the kimageshop mailing list