[argyllcms] Re: ranges of LAB values

  • From: Chris Lilley <chris@xxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 21 Apr 2022 13:09:51 -0400

This is completely correct, except for the float part.

Using 16bits per component (uint16 for L, int16 for a and b) also preserves the fractional component.

But no-one should be representing Lab in 8bits unless they don't care about accuracy at all! Think of it this way - if values are rounded (or, worse, truncated) to 8bits there is a worst-case error of almost 1 on each of L, a and b. So a deltaE 76 of sqrt(3) = 1.7, from quantization error alone!

On 2022-04-21 09:23, graxx@xxxxxxxxxxxx wrote:


Sylvain,

CIE Lab is independent of any computer implementation.

If you look at CIE Publications 15-2 which defines Colorimetry, you won’t find any mention of how the numbers should be represented inside a computer memory. CIE Lab numbers are just numbers and don’t need computers to exist.

Actually, you need “floating-point” variables to correctly represent CIE Lab, otherwise you loose the fractional part.

/ Roger

*From:*argyllcms-bounce@xxxxxxxxxxxxx <argyllcms-bounce@xxxxxxxxxxxxx> *On Behalf Of *Sylvain Ard
*Sent:* April 21, 2022 7:33 AM
*To:* argyllcms@xxxxxxxxxxxxx
*Subject:* [argyllcms] Re: ranges of LAB values

I want to understand, it's all. I think you're right the good formula is 255*(0 to 1 value)-128 because I saw on Internet that unsigned bytes come from -128 to 127 and I think that CieLab is standard unsigned byte.

Do you know my imagemagick commands ?

Sylvain Ard
0549507724
0778380991

sylvain.ard@xxxxxxxxx

http://sylvain-ard.fr

Entreprise individuelle SIRET : 80079243400022

Appt 26 Bât A Résidence Le Patio

83 rue de la Bugellerie

86000 Poitiers

Le jeu. 21 avr. 2022 à 13:29, Aaron Perelmuter <aaron.746@xxxxxxxxx> a écrit :

    I suppose that depends on from where one derives their
    definitions. I would generally do 256*x-128 as 0>>255 contains 256
    integers. Also, do the math and substitute either 127 or 128 and I
    doubt the resulting colour will be in any way noticeably different.

    I am somewhat confused though, if you already know the answer to
    your question, why ask? Please don’t misunderstand what I’m
    saying, I mean, it’s better to be as specific as you possibly can
    in terms of what you’re asking. If you understand something to be
    255*value-127, why not ask about the time you saw something very
    slightly different to that? Just makes it easier to give the exact
    answer you’re searching for is all.

    Keep the questions coming, we can all learn from them.

    On Thu, 21 Apr 2022 at 9:19 pm, Sylvain Ard
    <sylvain.ard@xxxxxxxxx> wrote:

        isn't it rather -127 - 128?

        because to match 0-1 values to near 127 values we do
        255*value-127 ?

        Sylvain Ard
        0549507724
        0778380991

        sylvain.ard@xxxxxxxxx

        http://sylvain-ard.fr

        Entreprise individuelle SIRET : 80079243400022

        Appt 26 Bât A Résidence Le Patio

        83 rue de la Bugellerie
        
<https://www.google.com/maps/search/83+rue+de+la+Bugellerie+86000+Poitiers?entry=gmail&source=g>

        86000 Poitiers
        
<https://www.google.com/maps/search/83+rue+de+la+Bugellerie+86000+Poitiers?entry=gmail&source=g>

        Le jeu. 21 avr. 2022 à 13:15, Aaron Perelmuter
        <aaron.746@xxxxxxxxx> a écrit :

            In most cases, for all intents and purposes, Lab is
            understood to be within the following ranges:
            L*0>>100;a*-128>>127;b*-128>>127

            As was mentioned in a reply to a previous list message,
            technically Lab values can and do sometimes go well
            outside of the ranges listed but in almost every instance,
            for the vast majority of people and use cases, Lab is
            understood to be within the bounds listed above.

            As was also mentioned in another reply to a list message,
            it certainly helps to be able to give a more accurate or
            more pertinent answer if you can state your reasons why
            you’d like to know what it is you’re asking about.

            I’m not 100% sure about this but ttbomk, there’s no such
            thing as a v2, v4 or any other version number for Lab
            profiles, for tiff or any other file format. Is there even
            a Lab profile anyway? What’s the exact file name for the
            Lab profiles you’re asking about? Finally, IT8 files
            consists of a great many different sub-types which are
            used for myriad purposes. Most commonly IT.7/3 and
             IT8.7/4 are often used for profiling CMYK processes,
            IT8.7/2 (used to be) often used for creating scanner
            profiles and so on - I say used to be because not many
            people in this day and age are creating scanner profiles
            or even own/use a scanner. Regardless, there are several
            flavours of IT8 type files but again, in almost every case
            the Lab range is as listed above.

            Best Regards,

            Aaron.

            On Thu, 21 Apr 2022 at 8:45 pm, Sylvain Ard
            <sylvain.ard@xxxxxxxxx> wrote:

                Hi I would like to know the ranges of L,A and B values
                in : ICC profiles v2, TIFF images with LAB profile v2
                and v4, IT8 CGATS files and their matches because the
                ranges are differents.

                Thank you

                Best regards

                Sylvain Ard
                0549507724
                0778380991

                sylvain.ard@xxxxxxxxx

                http://sylvain-ard.fr

                Entreprise individuelle SIRET : 80079243400022

                Appt 26 Bât A Résidence Le Patio

                83 rue de la Bugellerie
                
<https://www.google.com/maps/search/83+rue+de+la+Bugellerie+86000+Poitiers?entry=gmail&source=g>

                86000 Poitiers
                
<https://www.google.com/maps/search/83+rue+de+la+Bugellerie+86000+Poitiers?entry=gmail&source=g>

--
Chris Lilley
@svgeesus
Technical Director @ W3C
W3C Strategy Team, Core Web Design
W3C Architecture & Technology Team, Core Web & Media

Other related posts: