What the brain does

The blue's hue turn was lost with a matrix

Add white to a saturated blue and its hue turns — sixteen degrees by the constant-hue data Oklab was fitted to, four by CIECAM16. The obvious suspect was the model's compressive response, acting on a very large blue signal. It is not: removing the compression's saturation moves no hue by half a degree, and a cube root instead of its exponent moves the blue by one. What decides it is the cone space the compression happens in. Computed in Hunt–Pointer–Estévez, the space CIECAM02 compressed in, the same model turns the blue 15.6 degrees; CIECAM02's own front end turns it 16.1. CIECAM16 merged CIECAM02's two spaces into one sharpened for adaptation, and that one gives a display's blue almost as much long-wave signal as white has.

Assumes White turns a hue, and the models part at blue, The blue resists through the model's denominator and The cones an appearance model uses.

White turns a hue, and the models part at blue mixed the twenty-four most saturated colours of an sRGB display with white and followed each one’s hue angle down to a fifth of its purity. The hue turns as white is added — the Abney effect, known for more than a century — and the three models it compared agreed about the reds and parted at the blue. Oklab, whose hue was fitted to observers’ judgements of constant hue, turns the display’s blue 16.3 degrees; CIECAM16 turns it 3.6, a quarter as far, and CIELAB nine degrees the other way.

The blue resists through the model’s denominator then traced CIECAM16’s other peculiarity at the blue — how little colourfulness added white takes away — to the sum of cone signals its opponent signals are divided by. Its closing section noticed that the hue angle never passes through that denominator: it is the ratio of the two opponent signals, and a common divisor cancels. So the two peculiarities at the blue, meeting at one stimulus, had to have different causes. It named the compression as the likelier cause of the Abney disagreement: the model passes each cone signal through a saturating power law before forming opponents — the kind of compression a compression goes below the floor found making MacAdam’s ellipses rounder than any flat diagram can, and only after the right choice of cone basis — a saturated blue has one enormous signal, and a saturating response should change that signal little as white is added. The test was the hue census with the compression’s saturation removed.

Not the compression: the cone space

Removing the compression’s saturation moves no colour’s turn by more than 0.4 degrees. Replacing its exponent of 0.42 by Oklab’s cube root moves the blue’s turn by 0.9, and replacing CIECAM16’s opponent formula by Oklab’s by 1.9 — every one of them leaves the blue more than ten degrees short of Oklab. Moving the whole calculation into the Hunt–Pointer–Estévez cone space, where CIECAM02 did its compression, turns the blue 15.6 degrees, and CIECAM02’s own front end turns it 16.1, against Oklab’s 16.3. Over all twenty-four colours both lie 3.2 degrees from Oklab, root mean square, where CIECAM16 lies 5.3. Two spaces sharpened for adaptation turn the blue the wrong way, CAT02 by fifteen degrees.

  • The prediction fails. The saturation of the compression is not reached by any display colour; the blue’s signal, large as it is, sits on the power-law part of the curve.
  • The exponent and the opponent formula matter little for this question.
  • The cone space decides, and it decides through one thing: how the blue’s two long-wave signals compare with the white’s.
  • CIECAM02 had the blue’s turn and CIECAM16 does not. The merger of two matrices into one, made to simplify the model, is where it went.

One part at a time

The display blue's turn with one part of CIECAM16 changed at a time. The hue turn of the display's blue from full purity to a fifth, in CIECAM16 and with one part changed: the compression's saturation removed, its exponent set to a cube root or to one, the opponent rows replaced by Oklab's, and the cone space replaced by four others, with CIECAM02's front end beside them. The dashed line is Oklab's 16.3 degrees. Nothing but the cone space moves the blue's turn by more than two degrees.
Fig. 1 The display blue’s turn from full purity to a fifth, in CIECAM16 and with one part of its front end changed at a time, against Oklab’s.

CIECAM16 computes hue in three steps. It converts tristimulus values into three cone-like signals with a matrix and scales each towards the white’s — the adaptation. It passes each signal through a compressive response, a power law with an exponent of 0.42 that bends over at very high signals. And it forms two opponent signals from the three, a red–green and a yellow–blue, whose angle is the hue. A hue turn with added white needs the second step: without it, the first and third are both linear, a mixture of a colour and white is a straight line in opponent space running into the white at the origin, and its angle cannot change. With the exponent set to one, no display colour turns by more than 2.8 degrees, and the blue by 0.2.

So the compression makes every turn; the question is which of its features, or which choice around it, sets the blue’s turn at 3.6. The saturation is not it. The response is 400t/(t + 27.13), where t is the adapted signal to the power 0.42, and the bend sets in only as t approaches 27; a display colour’s t is under one. Removing the bend leaves the blue at 3.4. The exponent is barely it: a cube root, which compresses harder, turns the blue 4.5. The opponent formula is barely it: Oklab’s red–green and yellow–blue rows in place of CIECAM16’s turn the blue 1.7.

The cone space is. Keep everything else of CIECAM16 — its exponent, its saturation, its opponent rows, its degree of adaptation — and do the calculation in a different cone space, and the blue’s turn ranges from −15.8 to +18.6 degrees. In the Hunt–Pointer–Estévez space it is 15.6; in Oklab’s own LMS space, 18.6; in Bradford’s, −5.0; in CAT02’s, −15.8.

The blue’s hue on the way to white

The display blue's hue as white is added, with the model's cone space swapped. The display's blue mixed with white from full purity to a fifth, and the hue angle's turn in CIECAM16 computed in each of five cone spaces, with Oklab's turn beneath. In CAT16's space the turn creeps to 3.6 degrees; in Hunt–Pointer–Estévez and in Oklab's own LMS it follows Oklab's curve; in the two spaces sharpened for adaptation, CAT02 and Bradford, it runs the other way.
Fig. 2 The display blue mixed with white from full purity to a fifth, and its hue turn in CIECAM16 computed in five cone spaces, with Oklab’s beneath.

In CAT16’s space the blue’s hue creeps: 0.4 degrees at nine tenths purity, 1.6 at six tenths, 3.6 at a fifth. In Hunt–Pointer–Estévez it follows Oklab’s curve, 1.7 degrees at nine tenths, 7.0 at six tenths, 15.6 at a fifth, the two separating by less than a degree at every purity Oklab was read at. Oklab’s own LMS, compressed and combined into opponents as CIECAM16 does it, goes a little further than Oklab itself, to 18.6.

The two sharpened spaces run the other way from the start. CAT02 turns the blue seven degrees the wrong way at nine tenths purity and nearly sixteen at a fifth. That is not a small error in a direction: it is a prediction that adding white to a saturated blue turns it towards cyan, where the constant-hue data say it turns towards purple.

The curves are what the model has a hue shift it was never given found for the other classical shift, with brightness: a turn the model was not fitted to, which falls out of its structure, and whose size is fixed by choices made for other reasons. Here the choice is the matrix.

What the two spaces see differently

CIECAM16's cone space against Hunt–Pointer–Estévez, wavelength by wavelength. The three sensitivities of CAT16's space, in which CIECAM16 both adapts and compresses, and of Hunt–Pointer–Estévez, the cone-fundamental space in which CIECAM02 compressed, each derived from the 1931 colour-matching functions. They peak within ten nanometres of each other. Where they differ is the first curve's short-wave tail: at 450 nm CAT16's is 0.07 of its peak and Hunt–Pointer–Estévez's 0.02, while the second curves stand at 0.04 and 0.05 and the third curves coincide.
Fig. 3 The three sensitivities of CAT16’s space and of Hunt–Pointer–Estévez, derived from the 1931 colour-matching functions and scaled to their peaks.

The two spaces look almost the same. Their long-wave curves peak at 580 and 575 nanometres, their middle-wave curves at 545 and 550, their short-wave curves at 445 and coincide throughout. The difference that matters is small and in one place: the first curve’s tail in the blue. At 450 nanometres CAT16’s long-wave sensitivity is 0.07 of its peak and Hunt–Pointer–Estévez’s 0.02, while their middle-wave sensitivities stand at 0.04 and 0.05.

That tail is not an accident. CAT16’s matrix, like CAT02’s and Bradford’s before it, was fitted to corresponding-colour data — pairs of colours that match under two lights — to make a von Kries adaptation predict those pairs as well as possible, and a matrix fitted for that purpose need not look like cone fundamentals. The cones an appearance model uses ran the dichromat construction on CAT16’s axes and found them committing to a confusion point far from the measured one, a test they were never asked to pass. Hunt–Pointer–Estévez was built the other way, from estimates of the cone fundamentals themselves. CIECAM02 used both: a fitted matrix for adaptation and the fundamentals for the compression that follows it. CIECAM16, published in 2017, replaced the pair with a single matrix doing both jobs, removing a known source of trouble in CIECAM02 where some saturated colours produced negative signals between the two conversions.

Why a tail in the blue turns the blue

The blue's turn follows how its two long-wave signals stand against the white's. For each of five cone spaces, the display blue's first and second signals as fractions of an equally luminous white's — CAT16 1.00 and 1.16, HPE 0.64 and 1.20, CAT02 0.13 and 0.02, Bradford 0.40 and 0.31, Oklab LMS 0.71 and 1.49 — and, across, the second less the first; up, the turn CIECAM16 gives the blue computed in that space. The turn has the sign of the gap in every space and the five fall in its order.
Fig. 4 For five cone spaces, how the display blue’s first and second signals compare with an equally luminous white’s, against the turn CIECAM16 gives the blue computed in that space.

The turn follows one number: the blue’s second signal as a fraction of the white’s, less its first as a fraction of the white’s. In CAT16’s space the display’s blue, at the same luminance as a white, gives a first signal exactly the white’s and a second 1.16 times it: a gap of 0.16. In Hunt–Pointer–Estévez the first is 0.64 of the white’s and the second 1.20: a gap of 0.56. In Oklab’s LMS, 0.71 and 1.49, a gap of 0.78. In Bradford’s space and CAT02’s the blue gives both long-wave signals far less than the white — 0.40 and 0.31, 0.13 and 0.02 — and the gap is negative. Across the five spaces the turn has the sign of the gap every time, and the five turns fall in its order.

The reason is how white enters. Adding white pulls every signal’s ratio to the white’s towards one, and with a compressive response a ratio’s change is felt in proportion to how far from one it started. The red–green opponent signal is the balance between the first and second signals; if they start equal relative to the white, white moves them together and the balance holds; if they start apart, white closes the gap and the balance shifts — and a shift in red–green against a nearly fixed yellow–blue is a turn of hue. CAT16’s tail in the blue gives the display’s blue a first signal as large as white’s, so the two long-wave signals start almost together, and white has almost nothing to shift.

The yellow–blue signal is dominated in every space by the blue’s enormous third signal, eleven to twelve times the white’s, and it hardly differs between spaces; that is why the opponent formula and the exponent, which act on all three signals alike, cannot move the blue’s turn much. The long-wave pair is where the spaces differ, and it is the only place a blue has room to turn.

Across every display colour

How far white turns each display colour's hue, in CIECAM16 and with its cone space changed. The twenty-four most saturated sRGB colours, each mixed with white of the same luminance down to a fifth of its purity, and the turn of its hue angle in Oklab, in CIECAM16, in CIECAM16 with its compression done in the Hunt–Pointer–Estévez space rather than CAT16's, and in CIECAM02's front end. At the display's blue Oklab turns 16.3 degrees and CIECAM16 3.6; compressed in Hunt–Pointer–Estévez it turns 15.6, and CIECAM02 16.1. Over all twenty-four the two lie 3.2 and 3.2 degrees from Oklab, root mean square, against CIECAM16's 5.3.
Fig. 5 The hue turn to a fifth purity for all twenty-four display colours, in Oklab, CIECAM16, CIECAM16 compressed in Hunt–Pointer–Estévez, and CIECAM02.

Compressed in Hunt–Pointer–Estévez, the model moves towards Oklab across the blues and violets and stays put elsewhere. From HSV 210 to 270 degrees — the cyan-blues, the blue and the blue-violets — CIECAM16’s turns of 7.1, 4.8, 3.6, 0.7 and −4.5 become 11.1, 13.6, 15.6, 11.1 and 1.1, against Oklab’s 13.8, 15.0, 16.3, 10.8 and 1.7. At the reds, oranges and greens the two spaces agree with each other to within about three degrees, and both keep the modest overshoot of the green turns — eight degrees against Oklab’s three — that white turns a hue already found. The sharpened spaces share that overshoot; only Oklab’s own LMS loses it, which says the greens’ overshoot belongs to something the four fitted and fundamental matrices have in common and Oklab’s does not.

CIECAM02’s front end, with adaptation in CAT02 and compression in Hunt–Pointer–Estévez, lies almost on top of the Hunt–Pointer–Estévez version throughout: the adaptation’s matrix does not matter to the turn, only the compression’s. That is the whole difference between the two published models at this question, and it is one matrix.

How far each version lies from Oklab

How far each version of the model's hue sits from Oklab's, over every display colour. For each change to CIECAM16's front end, the root-mean-square difference between its hue turns and Oklab's across the twenty-four display colours mixed with white to a fifth purity. The model sits at 5.30 degrees; the three changes to its compression and opponents leave it there or further; moving the compression into Hunt–Pointer–Estévez, or into Oklab's LMS, brings it to about 3.2; the sharpened spaces take it past 8.
Fig. 6 For each change to CIECAM16’s front end, the root-mean-square difference of its twenty-four turns from Oklab’s.

The model lies 5.30 degrees from Oklab, root mean square. Removing the saturation leaves it at 5.30; the cube root at 5.36; Oklab’s opponent rows at 6.30. Compression in Hunt–Pointer–Estévez brings it to 3.16, compression in Oklab’s own LMS to 3.14, and CIECAM02 to 3.19. The sharpened spaces take it to 8.70 and 10.77.

Oklab is the reference here because it is the model whose hue was fitted to constant-hue judgements — its hue behaviour comes from IPT, built to straighten Hung and Berns’s data. That makes it the right yardstick for an Abney turn and says nothing about the rest of what CIECAM16 does, which Oklab does not attempt. White drains the blue last in every model and its sequel measured colourfulness, where CIECAM16’s denominator was the peculiarity; this essay measures hue angle, where the denominator plays no part and the cone space does.

What this means for the two disagreements at blue

The two things CIECAM16 does oddly at a saturated blue have different causes. How little colourfulness white removes is its denominator; how little white turns its hue is its cone space. A single experiment on a blue with white added would test both at once, and could not tell which one failed. An experiment on hue alone — observers setting the constant-hue path from a display blue towards white — tests the cone space, and this calculation says what it should find: a turn of about sixteen degrees at a fifth purity if the Hunt–Pointer–Estévez version is right, four if CIECAM16 is.

For anyone using CIECAM16 to hold a hue while changing saturation — building a palette of tints, mapping a blue into a smaller gamut by reducing chroma — its constant-hue lines at the blue are nearly straight lines to white, which the constant-hue data say they are not. Oklab’s are curved; CIECAM02’s were. The hue scale has four corners records how models fix hue itself; this is how they fix what happens to it with dilution.

How the turns were computed

Colours are the twenty-four most saturated sRGB colours at HSV hues fifteen degrees apart, each mixed additively with the display’s white at equal luminance down to a fifth of its purity. CIECAM16’s hue is computed with the collection’s viewing condition — the display’s white, an adapting luminance of 100, a background of 20 and an average surround, which gives a degree of adaptation of 0.94 — and the copy used here agrees with the collection’s full model to a billionth of a degree. Each variant changes one step: the response 400t/(t + 27.13) + 0.1 becomes 400t/27.13 + 0.1 without saturation; the exponent 0.42 becomes one third or one; CIECAM16’s opponent rows (1, −12/11, 1/11) and (1/9, 1/9, −2/9) become Oklab’s; or the matrix into three signals becomes Hunt–Pointer–Estévez’s, CAT02’s, Bradford’s or Oklab’s first matrix, with the degree of adaptation applied in that space. CIECAM02’s front end adapts in CAT02, converts back to tristimulus values, and compresses in Hunt–Pointer–Estévez. Oklab’s turns are its own, with the cube root. The gap is each space’s second adapted signal for the display blue over an equally luminous white’s, less its first.

What this leaves out

Oklab is a model of the constant-hue data, not the data. Its fit to Hung and Berns’s loci is good, and the data themselves scatter between observers by several degrees at the blue; the claim here is about which structural choice moves CIECAM16 towards the data’s shape, not that sixteen degrees is exact.

Only a display’s most saturated colours are tested, at one luminance and one adapting condition. Blues outside the sRGB gamut, more saturated than a display’s, carry larger third signals and different long-wave pairs; whether the ordering by the long-wave gap holds for them is untested, and they are where CIECAM02’s negative signals — the trouble CIECAM16’s single matrix was meant to remove — would appear.

The cone spaces are fixed matrices. A physiological cone space — the CIE 2006 fundamentals, for instance — would be another candidate, closer to Hunt–Pointer–Estévez than to the adaptation matrices, and the prediction is that it would turn the blue as Hunt–Pointer–Estévez does.

Still open: whether a second matrix breaks what the single one fixed

CIECAM16 merged CIECAM02’s matrices partly because the conversion between them sent some colours to negative signals, which a power law cannot take. The Hunt–Pointer–Estévez version tested here restores the blue’s turn by restoring the second matrix, and so it should restore that trouble too — somewhere.

The calculation is a census of where the two-matrix version fails: every colour in the spectrum locus at several luminances, sent through adaptation in CAT16 and compression in Hunt–Pointer–Estévez, with the colours whose compressed signals go negative recorded, and their hue turns set against the single-matrix model’s. The prediction is that the failures are confined to monochromatic lights below about 450 nanometres and a thin shell of the most saturated violets, well outside any display or print gamut, so that a model compressing in cone fundamentals would keep the blue’s Abney turn for every colour anyone reproduces and lose only colours nobody does. If the failures reach into the display gamut instead, the single matrix was a real trade, and the blue’s turn is its price.

A simplification is a claim about what it simplifies

The habit is about what a merge of two parts of a model assumes.

CIECAM16’s single matrix was a simplification: two matrices became one, and the model became easier to invert and harder to break. A simplification of that kind carries a claim that the two parts were doing the same job, or that the difference between them did not matter to anything the model is asked about. For adaptation the claim holds well enough. For the compression it does not, and nothing in the test data CIECAM16 was checked against would have shown it, because the Abney effect at a saturated blue was not among the things it was checked against.

The failure mode is to judge a simplification by the predictions it was validated on, rather than by asking what the removed part was doing. Hunt–Pointer–Estévez was in CIECAM02 to put the compression in something like cone space. Taking it out moved the compression into a space fitted for adaptation, and the one behaviour that depended on where the compression happened went with it.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the index of named objects makes visible.

The objects this essay names

Each one links to every other essay that touches it.

Chromatic adaptationCIECAM16Colour appearanceCone fundamentalsHueModelling assumptionOklabSaturationStructural choice