RSS/Atom feed Twitter
Site is read-only, email is disabled

Adding better LCH support to GIMP 2.10

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

12 of 12 messages available
Toggle history

Please log in to manage your subscriptions.

Adding better LCH support to GIMP 2.10 Elle Stone 07 Feb 19:39
  Adding better LCH support to GIMP 2.10 Alexandre Prokoudine 07 Feb 23:06
   Adding better LCH support to GIMP 2.10 Elle Stone 07 Feb 23:19
    Adding better LCH support to GIMP 2.10 Alexandre Prokoudine 07 Feb 23:28
     Adding better LCH support to GIMP 2.10 Elle Stone 07 Feb 23:40
      Adding better LCH support to GIMP 2.10 Alexandre Prokoudine 08 Feb 07:09
     Adding better LCH support to GIMP 2.10 Elle Stone 13 Feb 00:38
      Adding better LCH support to GIMP 2.10 Elle Stone 14 Feb 17:44
      Adding better LCH support to GIMP 2.10 Sven Claussner 14 Feb 20:56
       Adding better LCH support to GIMP 2.10 Elle Stone 14 Feb 23:33
        Adding better LCH support to GIMP 2.10 Partha Bagchi 15 Feb 00:25
        Adding better LCH support to GIMP 2.10 Øyvind Kolås 15 Feb 07:24
Elle Stone
2016-02-07 19:39:05 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

GIMP's new LCH blend modes are wonderful. But trying to use these new blend modes without the proper supporting tools is sort of like being given a new Aston-Martin with a 35-mile-per-hour governor on the engine.

To make the LCH blend modes truly useful GIMP needs:

* an LCH Hue-Chroma tool. * LCH color sliders added to the "Change Foreground Color" dialog. * the Luminance blend mode in addition to the LCH Lightness blend mode.

There are already more or less useable patches for the LCH Hue-Chroma tool and LCH color sliders
(https://bugzilla.gnome.org/show_bug.cgi?id=749902), and for the Luminance blend mode (https://bugzilla.gnome.org/show_bug.cgi?id=753163).

Adding the LCH Hue-Chroma tool and LCH color picker sliders for GIMP 2.10, right alongside the eventually-to-be-deprecated(?) HSV Hue-Saturation tool and HSV color picker sliders, would allow GIMP users a chance to adapt to LCH before HSV is summarily removed from the UI.

Best, Elle

How to split tone digital images using LCH and Luminance blend modes http://ninedegreesbelow.com/photography/split-toning-using-LCH-blend-modes.html

Alexandre Prokoudine
2016-02-07 23:06:46 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On Sun, Feb 7, 2016 at 10:39 PM, Elle Stone wrote:

GIMP's new LCH blend modes are wonderful. But trying to use these new blend modes without the proper supporting tools is sort of like being given a new Aston-Martin with a 35-mile-per-hour governor on the engine.

To make the LCH blend modes truly useful GIMP needs:

* an LCH Hue-Chroma tool. * LCH color sliders added to the "Change Foreground Color" dialog. * the Luminance blend mode in addition to the LCH Lightness blend mode.

There are already more or less useable patches for the LCH Hue-Chroma tool and LCH color sliders (https://bugzilla.gnome.org/show_bug.cgi?id=749902), and for the Luminance blend mode
(https://bugzilla.gnome.org/show_bug.cgi?id=753163).

Adding the LCH Hue-Chroma tool and LCH color picker sliders for GIMP 2.10, right alongside the eventually-to-be-deprecated(?) HSV Hue-Saturation tool and HSV color picker sliders, would allow GIMP users a chance to adapt to LCH before HSV is summarily removed from the UI.

Personally, I find darktable's Color Zones module [1] a far better alternative. It's more flexible, for instance.

So _maybe_ it would be advisable to implement a new similar 'tool' that would use LCH from the very beginning. The dt's implementation already uses LCH [2].

[1] https://www.darktable.org/usermanual/images/darkroom/modules/colorzones.jpg [2] https://github.com/darktable-org/darktable/blob/master/src/iop/colorzones.c

Alex

Elle Stone
2016-02-07 23:19:56 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On 02/07/2016 06:06 PM, Alexandre Prokoudine wrote:

Personally, I find darktable's Color Zones module [1] a far better alternative. It's more flexible, for instance.

I don't mean any disrespect to you or to darktable. That looks like a nice tool built on top of LCH. Personally I'd probably never use it, but that's a matter of editing style.

But in what universe is that tool more flexible than giving users direct control of color through LCH and Luminance blend layers, along with the ability to modify Lightness, Hue, Chroma directly using an LCH Hue-Chroma tool?

How will that tool allow the user to sample LCH colors to see what colors are actually in an image? As an aside, a bunch of RGB values is singularly unhelpful information unless the user intends to do a bunch of RGB to LCH conversions at the command line.

How will that tool allow the user to choose paint pigments colors from a LCH pigment color wheel?

Elle

Alexandre Prokoudine
2016-02-07 23:28:10 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On Mon, Feb 8, 2016 at 2:19 AM, Elle Stone wrote:

I don't mean any disrespect to you or to darktable. That looks like a nice tool built on top of LCH. Personally I'd probably never use it, but that's a matter of editing style.

But in what universe is that tool more flexible than giving users direct control of color through LCH and Luminance blend layers, along with the ability to modify Lightness, Hue, Chroma directly using an LCH Hue-Chroma tool?

I _wasn't even referring_ to LCH-based blend modes in the first place.

In _my_ universe it allows to e.g. selectively change saturation/lightness for any ranges of hues. I can see how this would irritate people who want numeric inputs for everything though.

Alex

Elle Stone
2016-02-07 23:40:47 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On 02/07/2016 06:28 PM, Alexandre Prokoudine wrote:

I_wasn't even referring_ to LCH-based blend modes in the first place.

Hmm, my post was about LCH blend modes and how to be truly useful the user also needs the Luminance blend mode plus LCH Hue-Chroma plus LCH sliders in the "Choose foreground color" tool. So I assumed you were talking about replacing some or all of the above with a tool like the darktable tool.

What were you actually referring to?

The LCH Hue-Chroma tool and LCH sliders in the "Choose foreground color" tool are very useful in themselves, quite apart from the LCH blend modes, as is the Luminance blend mode.

Elle

Alexandre Prokoudine
2016-02-08 07:09:46 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On Mon, Feb 8, 2016 at 2:40 AM, Elle Stone wrote:

On 02/07/2016 06:28 PM, Alexandre Prokoudine wrote:

I_wasn't even referring_ to LCH-based blend modes in the first place.

Hmm, my post was about LCH blend modes and how to be truly useful the user also needs the Luminance blend mode plus LCH Hue-Chroma plus LCH sliders in the "Choose foreground color" tool. So I assumed you were talking about replacing some or all of the above with a tool like the darktable tool.

What were you actually referring to?

To quote your email:

"* an LCH Hue-Chroma tool."

Alex

Elle Stone
2016-02-13 00:38:53 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On 02/07/2016 06:28 PM, Alexandre Prokoudine wrote:

I can see how this would
irritate people who want numeric inputs for everything though.

I do like numbers.

LCH Color Picker for picking colors "by the numbers":

Maybe most GIMP users are good at picking colors out of thin air, but personally I appreciate any help I can get. Fortunately the internet is a treasure trove of color information, and an LCH color picker makes it easy for digital artists to use this information.

Consider painting a picture of a blue sky and some vegetation. A nice first step is to make some appropriate blue and green color swatches:

According to the handprint.com website, "the average sky chromaticity . . . correspond[s] to a dominant wavelength of about 470 to 475 nm" (http://www.handprint.com/HP/WCL/color12.html). These wavelengths correspond to a JCH Hue of around 247 (http://handprint.com/HP/WCL/color16.html#tourwheel) and an LCH Hue of around 252.

It would be better if GIMP could have a JCH color picker, but JCH and LCH colors are not usually too far apart, and using LCH is infinitely better than pretending that HSV hues actually mean anything.

An LCH color picker makes it simple to use the LCH sky hue of 252 to create a set of sky blue color swatches: http://ninedegreesbelow.com/photography/lch-rgb-hsv/lch-hue-252.jpg

Here's what results from trying to make "sky blue with LCH hue 252" using the HSV color picker (sorry, these colors are pathetically wrong): http://ninedegreesbelow.com/photography/lch-rgb-hsv/hsv-hue-252.jpg

Color information from the internet also can be used to make color swatches for typical vegetation colors:

* This website says that green plants reflect light in the 500 to 600 nanometer range: http://www.webexhibits.org/causesofcolor/7A.html (also see http://harvardforest.fas.harvard.edu/leaves/pigment).

* The handprint.com watercolor website's "tour of the color wheel" (http://handprint.com/HP/WCL/color16.html#tourwheel) provides wavelength and JCH Hue information for watercolor pigments, and colors from 500 to 600 nm cover the JCH Hue range from around 110 to 170. Fortunately the LCH Hue range is not too far off from the JCH Hue range, so I'll assume the LCH Hues are "close enough".

Putting these numbers together with the LCH color picker makes it very easy to construct a set of color swaths for painting vegetation: http://ninedegreesbelow.com/photography/lch-rgb-hsv/lch-plant-green-hues.jpg

Using HSV and dialing in these same Hue values produces decidedly more blue shades of green (yellow-greens are completely missing): http://ninedegreesbelow.com/photography/lch-rgb-hsv/hsv-green-hues.jpg

You can't use an HSV color picker to pick colors based on LCH/JCH color information. So the internet treasure trove of color information is pretty much out of reach for anyone who doesn't have access to an LCH/JCH color picker.

LCH Hue-Chroma tool for modifying colors:

RGB-based tools for modifying saturation also change hues at the same time. This is exactly why I coded up GIMP LCH color picker and Hue-Chroma tools. I had picked a particular shade of blue from a photograph to use for colorizing the sky portions of a black and white image. I wanted to modify the lightness and increase the saturation but keep the hue visually the same. Every attempt to to keep the hue constant and only change the lightness and saturation ended up shifting the hue towards violet.

http://www.handprint.com/HP/WCL/CIELAB.pdf shows "unique colors" on the LCH color wheel. "Unique blue" is that shade of blue that most people would say is neither slightly on the green side nor slightly on the violet side of blue, "unique red" is neither slightly orange nor slightly magenta, and so on. An internet search turns up quite a lot of research into the topic of unique colors (for example http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1404500/).

The following graphic shows why adding saturation using the usual RGB tools (HSV, Channel Mixer, etc) *always* shifts color hues in various directions - blues move towards violet, bluer greens get more yellow, and so forth:
http://ninedegreesbelow.com/photography/lch-rgb-hsv/unique-blue-and-srgb-blue-on-lch-color-wheel.jpg - the small dots are sRGB's Reddest Red, Bluest Blue, etc, and the large dots are unique red, unique blue, etc.

When located on the LCH color wheel, sRGB "Blue" isn't even blue at all. It's blatantly violet. sRGB Red is an orange-red. And sRGB Green is decidedly on the yellow side of green.

One major problem with using sRGB/HSV to pick colors for painting and graphic design is that the colors we pick tend to get pushed towards the rather warped representations of blue, green, yellow, and red that are defined by the sRGB primaries (warped from the point of view of picking colors for painting - color space primaries from other RGB working spaces are not any better). An LCH color picker provides a way to choose colors based on how we actually perceive colors out there in the real world.

For adding saturation to a photographic image, GIMP's new Saturation tool ("Colors/Saturation") is excellent because it operates on LAB/LCH instead of RGB. But for modifying the Hue, Chroma ("saturation"), and Lightness of a solid color (for example a color swatch color for digital painting or a solid color blending layer for colorizing a black and white image) or a small range of hues, GIMP needs a dedicated LCH Hue-Chroma tool.

Best,
Elle

Elle Stone
2016-02-14 17:44:04 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

I received an email complaining that it was not true that as located on the LCH color wheel, sRGB Blue was blatantly violet, sRGB Red was on the orange side of red, sRGB Green was on the yellow side of green, and sRGB Yellow as on the green side of yellow.

There is a sliver of truth in the complaint. On the LCH color wheel, my statement is true.

However, LAB/LCH was designed to measure color differences, not to serve as a color appearance model, even though it often gets used as such. Also the LAB color space is particularly bad when it comes to dealing with blues and violets.

For comparison, here are JCH and LCH values reported using the ArgyllCMS xicclu tool:

Hue JCH/LCH sRGB Blue 301 [LCh]
sRGB Blue 273 [JCh] (still on the violet side of blue, but not blatantly violet)

sRGB Green 134 [LCh] sRGB Green 140 [JCh] (not as far towards yellow)

sRGB Red 41 [LCh] sRGB Red 32 [JCh] (not as far towards orange)

sRGB Yellow 100 [LCh] sRGB Yellow 111 [JCh] (farther towards green)

As you can see from these values, according to JCH model, sRGB Blue is still on the violet side of the JCH color wheel. But it's not nearly as far on the violet side of the JCH color wheel as it is on the LCH color wheel.

For both color wheels, sRGB Green is on the yellow side of green, sRGB Red is on the orange side of red, and sRGB Yellow is on the green side of yellow.

If you would like to check for yourself:

Here's the handprint.com CIECAM (JCH) color wheel: http://www.handprint.com/HP/WCL/cwheel06.html

Here's the handprint.com CIELAB (LCH) color wheel: http://www.handprint.com/HP/WCL/labwheel.html

Here's the xicclu commands for checking the LCH/JCH values for sRGB colors using an sRGB ICC profile:

xicclu -ir -pJ sRGB-elle-V2-g10.icc xicclu -ir -pL sRGB-elle-V2-g10.icc

Here's a link to the xicclu documentation: http://argyllcms.com/doc/xicclu.html

Here's a link to download ICC profiles: http://ninedegreesbelow.com/photography/lcms-make-icc-profiles.html

It would be very nice if GIMP users had a way to pick colors using the LCH color wheel or better yet the JCH color wheel. Either color space is a vast improvement over the pathetically inadequate HSV.

Best, Elle

Sven Claussner
2016-02-14 20:56:19 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

Hi,

@Elle: you are speaking here of the JCH color model (or space) and mentioned on your website [1] that JAB and JCH have outdated LAB and LCH (which are often considered the high end image editing color spaces/models).
Searching a while for more information about JCH I found only very few information, even not on other color management and FOSS graphics devel mailing lists. Only on the PXLab website [2] I see a short description:

JCH:=The CIE Color Appearance Model (1997) with viewing and scene conditions to be defined separately.

I'm failing to understand all its implications. Can you tell us more about JCH and JAB and why you consider it to be a good choice, please? What about LAB and LCH then? Does somebody else here know more about it?

Thank you in advance

Sven

[1] http://ninedegreesbelow.com/photography/high-bit-depth-gimp-tutorial-edit-tonality-color-separately.html

[2] http://irtel.uni-mannheim.de/pxlab/doc/api/de/pxlab/pxl/ColorSpaceCodes.html#CS_JCh

Elle Stone
2016-02-14 23:33:39 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On 02/14/2016 03:56 PM, Sven Claussner wrote:

Hi,

@Elle: you are speaking here of the JCH color model (or space) and mentioned
on your website [1] that JAB and JCH have outdated LAB and LCH (which are often considered the high end image editing color spaces/models).
Searching a while for more information about JCH I found only very few information, even not on other color management and FOSS graphics devel mailing lists. Only on the PXLab website [2] I see a short description:

JCH:=The CIE Color Appearance Model (1997) with viewing and scene conditions
to be defined separately.

I'm failing to understand all its implications. Can you tell us more about JCH and JAB and why you consider it to be a good choice, please? What about LAB and LCH then?

I can't tell you very much about JCH/JAB because I'm still trying to figure it all out myself.

You might try plowing your way through this PDF: http://rit-mcsl.org/fairchild/PDFs/AppearanceLec.pdf

This page has links to some equations: https://en.wikipedia.org/wiki/CIECAM02

This page briefly talks about color appearance models in more down-to-earth terms:
http://www.rit-mcsl.org/fairchild/WhyIsColor/Questions/4-8.html

An internet search on terms like Color appearance model, Mark Fairchild, and CIECAM02 will turn up a lot of material. None of it is easy reading.

LAB answers the question "how far apart do colors have to be before the average human observer will say 'those are different colors'". The "home" of LAB was for use with quality control for colors in textiles, printing, and such. LAB wasn't designed to be used as a color space for editing, but it works pretty well for a lot of different editing tasks.

A full understanding of LAB would require understanding the kinds of experiments that were done to map out "when is color X different enough from color Y to be seen as visually different?" I have no idea what kind of experiments were done or how the mathematical model was constructed from the experimental results. But the resulting equations to convert from XYZ to LAB and then LCH are pretty straightforward.

Color appearance models are designed to answer a very different and much more complicated set of questions. They try to answer questions like "How to describe colors?", "Why does the appearance of one color change when juxtaposed next to another color?", and "Why does a surface look the same color even when the light shining on it changes drastically (for example from bright daylight to deep shade or to tungsten lighting, or even in the shadow side of an object)?".

These are complicated questions, being answered using complicated research and complicated resulting models described by complicated sets of equations. Also color appearance models are a very active area of ongoing research, so what's considered really good today might be superceded tomorrow.

My reasons for suggesting that for use in GIMP (1)LAB/LCH is good and (2)JAB/JCH is probably better are so simplistic that you'll all just laugh:

1. Bruce MacEvoy's handprint.com website on watercolor pigments switched from using LCH to using JCH to give paint pigment colors, and I respect Bruce MacEvoy as an authority on giving useable values for paint pigments: http://handprint.com/HP/WCL/water.html, http://handprint.com/LS/CVS/color.html

2. Mark Fairchild seems to think CIECAM02 is a pretty good color apperance model, though again this is a field of active research, and much of what Mark Fairchild writes goes right over my head.

3. ArgyllCMS and LCMS already incorporate the equations for JAB/JCH in their code, as does RawTherapee, so it has to be not too difficult to code up for GIMP. But my (very limited) efforts to make sense of the ArgyllCMS/LCM/RT code have so far been unsuccessful.

I find the LCH blend modes, color picker, and Hue-Chroma tool to be incredibly useful. The few people who've written to me about using my patched GIMP seem very enthusiastic.

JCH apparently is more accurate than LCH for describing colors. I'm not sure how much difference the "more accurate" would make in the digital darkroom. It would be nice to be able to give JCH a try, but in the meantime I can't imagine going back to editing without LCH.

Does somebody else here know more about it?

No doubt even my short description above needs a lot of corrections!

Thank you in advance

Sven

[1] http://ninedegreesbelow.com/photography/high-bit-depth-gimp-tutorial-edit-tonality-color-separately.html

[2] http://irtel.uni-mannheim.de/pxlab/doc/api/de/pxlab/pxl/ColorSpaceCodes.html#CS_JCh

_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

Partha Bagchi
2016-02-15 00:25:44 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

First hit when you google:
http://www.colourphil.co.uk/lab_lch_colour_space.shtml

On Sun, Feb 14, 2016 at 6:33 PM, Elle Stone wrote:

On 02/14/2016 03:56 PM, Sven Claussner wrote:

Hi,

@Elle: you are speaking here of the JCH color model (or space) and mentioned
on your website [1] that JAB and JCH have outdated LAB and LCH (which are often considered the high end image editing color spaces/models).
Searching a while for more information about JCH I found only very few information, even not on other color management and FOSS graphics devel mailing lists. Only on the PXLab website [2] I see a short description:

JCH:=The CIE Color Appearance Model (1997) with viewing and scene conditions
to be defined separately.

I'm failing to understand all its implications. Can you tell us more about JCH and JAB and why you consider it to be a good choice, please? What about LAB and LCH then?

I can't tell you very much about JCH/JAB because I'm still trying to figure it all out myself.

You might try plowing your way through this PDF: http://rit-mcsl.org/fairchild/PDFs/AppearanceLec.pdf

This page has links to some equations: https://en.wikipedia.org/wiki/CIECAM02

This page briefly talks about color appearance models in more down-to-earth terms:
http://www.rit-mcsl.org/fairchild/WhyIsColor/Questions/4-8.html

An internet search on terms like Color appearance model, Mark Fairchild, and CIECAM02 will turn up a lot of material. None of it is easy reading.

LAB answers the question "how far apart do colors have to be before the average human observer will say 'those are different colors'". The "home" of LAB was for use with quality control for colors in textiles, printing, and such. LAB wasn't designed to be used as a color space for editing, but it works pretty well for a lot of different editing tasks.

A full understanding of LAB would require understanding the kinds of experiments that were done to map out "when is color X different enough from color Y to be seen as visually different?" I have no idea what kind of experiments were done or how the mathematical model was constructed from the experimental results. But the resulting equations to convert from XYZ to LAB and then LCH are pretty straightforward.

Color appearance models are designed to answer a very different and much more complicated set of questions. They try to answer questions like "How to describe colors?", "Why does the appearance of one color change when juxtaposed next to another color?", and "Why does a surface look the same color even when the light shining on it changes drastically (for example from bright daylight to deep shade or to tungsten lighting, or even in the shadow side of an object)?".

These are complicated questions, being answered using complicated research and complicated resulting models described by complicated sets of equations. Also color appearance models are a very active area of ongoing research, so what's considered really good today might be superceded tomorrow.

My reasons for suggesting that for use in GIMP (1)LAB/LCH is good and (2)JAB/JCH is probably better are so simplistic that you'll all just laugh:

1. Bruce MacEvoy's handprint.com website on watercolor pigments switched from using LCH to using JCH to give paint pigment colors, and I respect Bruce MacEvoy as an authority on giving useable values for paint pigments: http://handprint.com/HP/WCL/water.html, http://handprint.com/LS/CVS/color.html

2. Mark Fairchild seems to think CIECAM02 is a pretty good color apperance model, though again this is a field of active research, and much of what Mark Fairchild writes goes right over my head.

3. ArgyllCMS and LCMS already incorporate the equations for JAB/JCH in their code, as does RawTherapee, so it has to be not too difficult to code up for GIMP. But my (very limited) efforts to make sense of the ArgyllCMS/LCM/RT code have so far been unsuccessful.

I find the LCH blend modes, color picker, and Hue-Chroma tool to be incredibly useful. The few people who've written to me about using my patched GIMP seem very enthusiastic.

JCH apparently is more accurate than LCH for describing colors. I'm not sure how much difference the "more accurate" would make in the digital darkroom. It would be nice to be able to give JCH a try, but in the meantime I can't imagine going back to editing without LCH.

Does somebody else here know more about it?

No doubt even my short description above needs a lot of corrections!

Thank you in advance

Sven

[1]

http://ninedegreesbelow.com/photography/high-bit-depth-gimp-tutorial-edit-tonality-color-separately.html

[2]

http://irtel.uni-mannheim.de/pxlab/doc/api/de/pxlab/pxl/ColorSpaceCodes.html#CS_JCh

_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

Øyvind Kolås
2016-02-15 07:24:00 UTC (about 8 years ago)

Adding better LCH support to GIMP 2.10

On Mon, Feb 15, 2016 at 12:33 AM, Elle Stone wrote:

This page briefly talks about color appearance models in more down-to-earth terms: http://www.rit-mcsl.org/fairchild/WhyIsColor/Questions/4-8.html

An internet search on terms like Color appearance model, Mark Fairchild, and CIECAM02 will turn up a lot of material. None of it is easy reading.

Color Appearance Models are even more in the realm of the subjective phenomenological experience of color than CIE XYZ / CIE Lab - and less useful in an attempt at absolutely defining/describing a color outside the context/scene where it is experiences/observed. With a color appearance model the squares A and B in the Checker Shadow Illusion ( https://en.wikipedia.org/wiki/Checker_shadow_illusion ) would have different colors - since they *appear* to have different colors. Through color constancy this affects not only the apparent luminanace but also the apparent hue of colors in a scene.

/pippin