What the brain does

The hue scale has four corners

CIECAM16 reports hue twice — as an angle in its own opponent plane, and as a quadrature interpolated through four unique hues with four fitted weights. The second is the one hue tolerances and hue-preserving mappings are written in, and it is piecewise — its slope jumps at each of the four anchors, by a factor of 1.74 at green and by 0.41 at blue, and it runs 4.1 times faster near yellow than near blue.

Assumes An appearance is not always a stimulus, Why there are four unique hues and The appearance model takes XYZ.

Every quantity CIECAM16 reports is a formula except one. Lightness, brightness, chroma, colourfulness and saturation are algebraic expressions in the compressed cone signals — six numbers the situation moves very unequally. Hue quadrature is a table with four rows in it and an interpolation between them.

The model's hue scale, and the four numbers it is built from. Hue quadrature against hue angle. The four anchors are the unique hues, each with its own weight, and between them the scale is a hyperbolic interpolation rather than a straight line. The quadrant from blue back to red spans 143 degrees of hue angle for its hundred units of quadrature, against 70 for red to yellow.
Fig. 1 Hue quadrature against hue angle, with the four anchors marked. Between them the scale is a hyperbolic interpolation rather than a straight line, and the quadrant from blue back to red spans twice the hue angle of the others.

The claim

The model’s hue scale is an interpolation through four measured numbers, so it has a corner at each of them and runs four times faster in one place than in another.

  • Its slope jumps at every anchor: by a factor of 1.19 at red, 1.18 at yellow, 1.74 at green and 0.41 at blue.
  • Across the circle the slope runs from 0.47 near hue 238 to 1.92 near hue 90, a factor of 4.1.
  • The quadrant from blue back to red spans 142.6 degrees of hue angle for its hundred units of quadrature, against 69.9 for red to yellow.
  • And a tolerance stated in quadrature is therefore four times tighter in one place than in another, in the units anybody would measure the match with.

What quadrature is for

The model reports hue as an angle in its own opponent plane, and that angle is a computed quantity with no perceptual claim attached: it is the arctangent of a ratio of two signals, and where its zero falls is an accident of the matrix.

Hue quadrature exists because observers do not agree with that. Four hues are elementary — a red that is neither yellowish nor bluish, and three others — and the fact that they are is one of the oldest results in the subject and is not predicted by anything in three receptors. An appearance model that reported only an angle would be reporting a number whose zero meant nothing to anybody, in the way CIELAB’s axes are not the unique hues.

So the model carries four measured anchor hues with four fitted weights and interpolates between them. Red is at hue angle 20.14 and quadrature 0; yellow at 90.0 and 100; green at 164.25 and 200; blue at 237.53 and 300. The interpolation is a ratio of two linear expressions — a hyperbola rather than a straight line — with each anchor’s weight in it.

The four unique hues, and the axes they are said to define. A constant-lightness, constant-chroma ring in CIECAM16, with the four unique hue anchors marked and CIELAB's a and b axes drawn through the same circle. If a* really were the red-green axis the anchors would fall on the crosshairs. Unique red sits 26° off, and the four are not 90° apart in any case. Hatched sectors are hues this display cannot reach at this chroma.
Fig. 2 The four unique hues, drawn from an earlier round. Those four measurements are the whole content of the quadrature scale, and everything between them is arithmetic.

That is a reasonable design and it is the only one available: four measurements and a rule for the space between them. What it produces is a function with the properties an interpolation has, and those properties are not usually stated.

Why an interpolation rather than a fit

The obvious alternative is to fit a smooth function to the four measurements rather than to interpolate through them, and it is worth saying why the standard does not.

A fit through four points with a smooth function has one property the standard cannot accept: it does not pass through the points. Whatever it does at hue angle 90, it will not report exactly 100 units of quadrature there, and 100 at unique yellow is not an empirical claim to be approximated — it is the definition of the scale. Quadrature is constructed so that the four unique hues fall at 0, 100, 200 and 300, and a scale that put unique yellow at 99.4 would have given up the thing it exists for.

So the choice is between exactness at four points with corners, and smoothness everywhere with the anchors slightly wrong. The standard chose exactness, which is correct, and the corners are what that costs.

There is a third option nobody took, which is to keep the anchors exact and choose an interpolation with matching slopes — a cubic through four points with derivative conditions, say. It has no corners and it needs derivative values at the anchors, and nothing measures those: an observer can say which yellow is unique and cannot say how fast hue changes there. A smooth scale would have required inventing four numbers, which is a worse fault than a corner and is presumably why it was not done.

What the weights are doing

The four anchors carry four weights — 0.8 at red, 0.7 at yellow, 1.0 at green, 1.2 at blue — and those are the numbers that produce most of the unevenness.

The interpolation divides the distance from the lower anchor by that anchor’s weight and the distance to the upper one by the upper anchor’s weight, and forms a ratio. So a large weight makes an anchor repel: the scale moves slowly near blue because blue’s weight is the largest, and quickly near yellow because yellow’s is the smallest.

The ratio between the extreme weights is 1.2 over 0.7, which is 1.71 — and the observed slope ratio across the circle is 4.1. The rest comes from the anchor spacing, which is uneven for a reason that is not fitted at all: there is no unique purple, so the gap from blue back to red is two-fifths of the circle carrying one quarter of the scale.

That decomposition is worth having because the two causes have different status. The weights are fitted parameters, so a different data set moves them. The absence of a fifth anchor between blue and red is a fact about human colour vision that no data set will move — there are four unique hues and there is no reddish green — so the largest single contribution to the scale’s unevenness is a structural feature of the eye rather than a modelling choice.

Where the corners are

An interpolation through four points, with a different formula in each of four intervals, is continuous at the joins and is not smooth there. The value matches; the slope does not.

The corner the hue scale has at each unique hue. How fast hue quadrature runs against hue angle, all the way round. It is piecewise, with a corner at each of the four unique hues, and its slope runs from 0.47 near 238 degrees to 1.92 near 90 — a factor of 4.1. The largest corner is at blue, where the slope changes by a factor of 0.41 across a single point.
Fig. 3 How fast the quadrature runs against hue angle, all the way round. The four discontinuities are the anchors, and the largest is at blue, where the slope falls to 41 per cent of what it was.

At red the slope goes from 1.05 below the anchor to 1.25 above it, a factor of 1.19. At yellow, 1.64 to 1.92, a factor of 1.18. At green, 0.94 to 1.64, a factor of 1.74. At blue, 1.14 to 0.47, a factor of 0.41.

The blue anchor is the largest discontinuity and it is a drop, at the hue where the published adaptation transforms disagree most. Crossing hue angle 237.53 the scale more than halves its rate, so two colours a degree apart on the yellow side of blue are further apart in quadrature than two colours a degree apart on the other side by a factor of two and a half.

Nothing is wrong with that. It follows from the weights, the weights were fitted to data, and the data say the four unique hues are not evenly spaced in the model’s own opponent plane. The interpolation is doing what an interpolation does, which is to be exactly right at the nodes and to have a corner at each of them.

How unevenly it runs

The corners are local and the unevenness is global, and the global figure is the one a specification would care about.

Across the whole circle the slope runs from 0.468 units of quadrature per degree, just above blue, to 1.918 just above yellow. That is a factor of 4.1, and it means the quadrature scale is compressed by four times more in one part of the circle than in another.

The quadrant spans say the same thing more legibly. Red to yellow is 69.9 degrees of hue angle for 100 units of quadrature; yellow to green is 74.3; green to blue is 73.3. Blue back to red is 142.6 — twice the others, for the same hundred units.

The hue circle cut into names, at L 60 and C 40. Left, the arcs each name claims, drawn at the colour of their midpoints; right, the same arcs measured in ΔE00 by integrating the difference along the ring rather than in degrees. The widest is 5.3 times the narrowest in degrees and 4.5 times in colour difference, so the metric accounts for 15 per cent of the inequality and no more. Only the eight chromatic terms compete on this ring: at this chroma the achromatic three would otherwise take the region where no basic English term sits, which is a defect of the model and is named in the essay.
Fig. 4 How the eleven basic colour terms divide the same circle, from an earlier round. That division is also very uneven, and it is uneven in a different place, which is the interesting part.

The purple and magenta region between blue and red is one quadrant of quadrature and two-fifths of the hue circle. That is a real perceptual statement — there is no unique purple, so the model has no anchor there and the interpolation stretches across the gap. It is also the region where the eleven basic colour terms are most crowded, which is the opposite arrangement and is worth noticing rather than reconciling.

What a tolerance in quadrature costs

The practical consequence follows directly and is the reason to have the numbers.

A hue tolerance stated in quadrature — within five units of H — is a tolerance in hue angle of 5 divided by the local slope. Near yellow that is 2.6 degrees. Near blue it is 10.7 degrees. The same stated tolerance is four times tighter at one hue than at another, measured in the quantity an instrument reports and a device drifts in.

The audit's six departures, read twice. Each departure priced in the matching unit it was published in and in the appearance unit an appearance prediction would be judged by. The model does not scale them by one factor: it amplifies the smallest by 1.58 and the largest by 1.03, so the range between them narrows from 3.34 to 2.17. The mean ranking is unchanged and 14 of the 42 surfaces reorder.
Fig. 5 The observer audit’s six departures read in the appearance unit. Every one of those numbers passes through the same hue scale, so its unevenness is inside them.

The same applies to a hue-preserving gamut mapping. Preserving hue means holding one of the two scales fixed, and holding quadrature fixed is not holding the angle fixed — a mapping that walks a colour inward at constant H is walking it at a hue angle that changes, by a rate that depends on where it started — and no mapping preserves everything is the general form of that.

Which of the two a mapping preserves is a decision, and specifications say only hue-preserving. It joins the arrangement of a raw pipeline on the list of decisions nothing records. The difference between the two is bounded by the same factor of four, and it is largest exactly where the mapping has the most work to do, which is the saturated blues and purples.

Where a stated appearance has no stimulus under it. The chroma the inverse can still return a light for, at lightness 50, all the way round the hue circle. Below the curve a stated appearance corresponds to a stimulus; above it the formula still returns three numbers and one of them is negative. Over a lattice of 10488 appearances spanning the whole space a specification is written in, 10.8 per cent are of that kind, and only 44 per cent are colours a display could show.
Fig. 6 The model’s own domain, drawn against hue angle. Its narrowest directions and the quadrature’s slowest are the same region, because both come from the same three-by-three.

That the two coincide is worth a sentence. The hues where the quadrature runs slowest are the hues where the inverse’s domain is tightest, and both are consequences of the model’s cone matrix having very unequal rows. One matrix produces both the boundary and the unevenness, which is why the two figures have the same shape and is not a coincidence to be explained away.

The two hue scales, and which one anybody means

A model that reports hue twice puts an obligation on whoever uses it, and the obligation is usually ignored.

A colour difference computed in CAM16-UCS uses the angle, because the UCS coordinates are built from the opponent signals directly. A hue tolerance in a specification is usually written in quadrature, because quadrature is the scale with names attached to it. A hue-preserving gamut mapping holds one of them fixed and the documentation rarely says which.

Those three are not the same operation, and the gap between them is bounded by the factor of four above and is largest in the blues and purples.

The cleanest statement is that quadrature is for describing and the angle is for computing. A person saying this is a slightly yellowish red means something about quadrature; a formula measuring how far apart two colours are is working in the angle. Using quadrature in a distance calculation imports its unevenness into a number that is supposed to be uniform, and using the angle in a description imports a zero point that means nothing.

The practical rule is to state which. It is one word in a specification and it is worth four times a hue tolerance’s own value.

What was computed, and how

The anchors and weights are the CIE’s own, as the model publishes them, and the interpolation is the standard’s formula implemented directly. Nothing here is a re-derivation: the slopes are finite differences of the published function at a step of a hundred-thousandth of a degree, which is far above the floating-point floor and far below the scale of anything the function does.

Which of the model's correlates the room actually moves. One stimulus, unchanged, read at adapting luminances from 8 to 20000 candelas a square metre, each quantity against its own largest value. Brightness rises by a factor of 5.1 and colourfulness by 2.0. Lightness moves by 2.5 per cent and chroma by 3.3, because both are ratios to the white and the white moved too.
Fig. 7 Which correlates the room moves. Hue is not among them: the quadrature is a function of the hue angle alone and is the one correlate that does not depend on the situation at all.

The quadrature is the one correlate with no viewing condition in it. Hue angle depends on the adaptation and therefore on the room, and the map from angle to quadrature does not — so everything in this essay is a property of the model’s table rather than of the situation, which is unusual for this family of figures and is why every panel here holds the situation fixed.

The quadrant spans are differences between the published anchor hues and are exact.

What a stated lightness pins down, and where. A lightness quoted to 0.5 of a unit, inverted, and the luminance it fixes. Read as a fraction of the colour's own luminance the requirement is 9.18 per cent at J 10 and 0.975 at J 95, a factor of 9.4. Read in absolute luminance it is the other way round, by a factor of 6.4. Both readings are true and they answer different questions.
Fig. 8 What a stated lightness pins down, at half-unit precision. Lightness has the same problem the hue scale has and for a different reason: one is a compression and the other is a table, and both are quoted as though a unit were a unit.

The two unevennesses are worth putting side by side because they are independent. Lightness runs unevenly because it is a compression with an exponent in it; hue quadrature runs unevenly because it is an interpolation through unevenly spaced anchors with unequal weights. Neither is a defect and both are invisible in the number. A specification quoting J to a tenth and H to a unit has quoted two requirements that each vary by a factor of several across the space they apply to, and has quoted them in the tone of a measurement.

What the corners are worth in practice

A corner in a scale is a small thing unless something differentiates it, and two things do.

An optimisation does. A gamut mapping, a fit, or any search that moves a colour to minimise a distance is following a gradient, and a gradient that jumps by a factor of 1.74 across a point is a gradient a solver can oscillate about. Nothing here has observed such an oscillation and the mechanism is standard: a piecewise-linear objective’s corners are where descent methods slow down or stick.

And a tolerance boundary does. Two colours straddling an anchor are being compared through two different local rates, so the answer to are these within five units of hue depends on which side of unique green they sit — not in the sense of being harder to compute, but in the sense that the same physical hue difference reads as two different numbers.

The four anchors are at hue angles 20, 90, 164 and 238, which are a red, a yellow, a green and a blue. Those are four of the most common colours anybody specifies, so the corners are not in a remote part of the space; they are exactly where the traffic is.

Where the model stops

The four anchors are measurements with uncertainty on them, and the uncertainty is not small: reported unique hue loci vary between studies by several degrees and between observers by a great deal more. The corners are therefore sharp in the model and not in anybody’s eye, and a scale fitted to a different set of unique hue data would have its corners in different places.

Nothing here says the interpolation is the wrong one. A smooth interpolation through the same four points — a spline, say — would have no corners and would not pass through the anchors with the right slopes either, since nothing measures those. The corner is the price of exactness at the nodes.

And the unevenness is a statement about the model’s own hue angle, which is not a perceptual quantity. Saying that quadrature runs four times faster in one place is saying that the model’s two hue scales disagree by that much about spacing; which of them is closer to what an observer would report is a question this collection has no data to answer.

The generalisation

The habit is about a quantity that is a table rather than a formula.

In a model built almost entirely of algebra, one quantity that is interpolated between measured anchors reads exactly like the others: same name, same units, same place in the output. Its behaviour is different in every way that matters — it is exact where the data are and constructed everywhere else, it is not smooth at the nodes, and its rate is whatever the node spacing makes it.

The move is to plot its derivative once. A corner is invisible in the function and unmistakable in the slope, and the plot takes a minute.

The failure mode is that the table’s quantity gets used as though it were uniform, because everything around it is. A tolerance quoted in an interpolated scale is quoted in units that vary, and nothing in the number says so — which is the same shape as the tolerance problem two ladders across and arrives from a completely different direction.

Who found it, and when

Hue quadrature dates from Hunt’s appearance models and the four-anchor form is essentially unchanged from CIECAM97s through CIECAM02 to CIECAM16. The anchor hues and their weights are published in the standard and the interpolation is stated there in full.

The unevenness is implicit in those published numbers — anybody can subtract 90 from 164.25 — and does not appear to be discussed as a property of the scale. The nearest thing in the literature is the recurring observation that CAM16-UCS is more uniform than its predecessors in the blue region, which is the same region and a different measurement.

Where the ladder goes next

Two rungs have now found that the model’s coordinates are less regular than they look. The next question is about the model’s nonlinearity rather than its coordinates, and it has a surprising answer: averaging the model’s predictions is very nearly averaging its argument, over the one argument this collection has spent a round measuring, and not at all over another.

What this makes readable

Essays that name this one as a prerequisite.

Named alongside this one

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

What links here

Every essay whose body links to this one.

The objects this essay names

Each one links to every other essay that touches it.

AnisotropyCIECAM16Colour appearanceHue quadratureInterpolationNamingSpecificationStructural choiceToleranceUnique hues