KNOWLEDGE MAP · COLOUR BASICS

A different white. An explicit transform.

Follow XYZ, the matrix and the reference white. Compare linear Bradford with XYZ Scaling, bypass adaptation or deliberately apply it twice.

Read the numbers. Notice the assumptions. Then apply the idea to your footage.

CHROMATIC ADAPTATION / XYZ

One white to another.

XYZ / White adaptationSOURCE WHITED65OPERATIONCAT ×1TARGET WHITED50
Before / D65XYZ 0.33266 / 0.35000 / 0.38117
After / CAT ×1XYZ 0.33750 / 0.35000 / 0.28879
MAX WHITE |ΔXYZ|
2.22e-16
ONE-MATRIX ROUNDTRIP
5.55e-17

Linear, full adaptation. The two methods are not full appearance models. Synthetic samples and fixed sRGB D65 previews do not simulate an adapted observer, spectral relighting or Resolve. Only previews may clip.

COLOR SCIENCE / 03 / KNOWLEDGE BASICS

An experiment, not a preset.

On this page ↓
TOPIC ILLUSTRATION

THE ESSENTIAL IDEA

Chromatic adaptation: Bradford, CAT02 and von Kries

Chromatic adaptation tries to answer a mathematical question: if the observer adapts to a different white, how should the coordinates of all other colours change so that they are perceived as corresponding colours? It is not a creative look and not simply a Tint control.

  • Understand what a CAT changes and which invariants the chosen task requires.
  • Do not apply an XYZ adaptation matrix directly to encoded RGB.
  • Check coloured samples and duplicate application as well as white.
Existing topic artwork, not a measured diagram or a Resolve screenshot. The numerical experiment above is calculated separately.
01

Vision adapts; a matrix only models

When illumination changes, the visual system partly adjusts its neutral reference. Paper may appear relatively white under different lights even though the spectrum reaching the eye changes. Surround, time and viewing conditions matter; adaptation is not an instantaneous, perfect recalculation of every scene point.

A chromatic adaptation transform estimates corresponding colours under another reference white within a model. It does not know the whole scene, measure the observer state or recover spectral reflectance. Keep the perceptual process distinct from its technical approximation in a processing pipeline.

What this means in practice

Changing Source and Target in the demo does not adapt your eyes. It recalculates coordinates while the monitor and room remain unchanged.

02

Changing basis and changing neutral are not the same operation

An RGB-to-XYZ matrix describes linear mixtures of specified primaries. Moving into another RGB basis through the same XYZ preserves the original stimulus colorimetry. It does not necessarily make the source white equal to the destination white. A corresponding-colour task needs an additional neutral-matching rule.

A CAT changes XYZ so that, under its assumptions, the source white maps to the target. Unchanged XYZ is not the expected invariant. Instead check Wsource → Wtarget and numerical reversibility when no clipping occurs. Changed XYZ alone does not indicate a faulty adaptation.

What this means in practice

Select D65 → D50. After one transform, white residual is near zero although X and Z changed. That is the intended result.

03

The von Kries idea: scale in an adaptation basis

In diagonal adaptation models, XYZ is first transformed into a suitable three-component basis. Each component is scaled by the ratio of destination-white to source-white responses, then the result returns to XYZ. The complete matrix is M⁻¹ · diag(MWt / MWs) · M.

Those axes should not automatically be interpreted as literal responses of an individual person’s cones. Models use different bases. Diagonal simplicity applies to the intermediate basis, not necessarily to XYZ or RGB: the resulting matrix usually contains cross-channel terms.

What this means in practice

When source and destination whites match, every ratio is one. The lab derives an identity matrix without substituting a special cosmetic preset.

04

Linear Bradford: a matrix for a specified white pair

The demo implements linear Bradford, the widely used matrix form documented by the ICC. Its basis matrix is fixed, but the resulting adaptation matrix depends on Ws and Wt. A precomputed D65-to-D50 matrix cannot be reused unchanged for ACES-to-D65.

We derive the matrix from explicit xy values rather than fitting coefficients to an attractive swatch. Results remain floating point. The qualifier linear matters: the demo is not a claim to implement every form of the original model or a complete ICC pipeline.

What this means in practice

Swap the whites: the matrix should become the inverse within numerical precision. Repeating the forward matrix is a different operation.

05

CAT02 and other methods are not a quality slider

CAT02, CMCCAT2000 and other approaches arise from different models and experimental data. Some are components of broader appearance models with additional viewing conditions. Matching the white does not imply identical predictions for coloured stimuli.

Do not merge degree of adaptation, algorithm choice and creative blending into a single concept. Reproducible comparisons require fixed conditions and knowledge of which model components are implemented. The hero offers only two explicit matrix cases: linear Bradford and XYZ Scaling. Other methods are discussed here, not faked with another formula.

What this means in practice

A matching neutral is a necessary check for this task, not proof that two methods behave identically throughout the image.

06

XYZ Scaling: simple and useful to compare, but different

XYZ Scaling multiplies each XYZ component by the corresponding white-component ratio. It is the general formula with M = I. The source white maps to the target, but non-neutral stimuli generally differ from Bradford predictions.

Its simplicity makes hand checks possible. It does not turn X, Y and Z into physiological receptor channels. Compare methods on coloured samples, not only a white square. The reported white residual is a maximum absolute XYZ difference, not ΔE.

What this means in practice

Choose Clay or Blue and switch methods. Both map white correctly, but the coloured sample’s XYZ values differ.

07

Adaptation may already be inside the transform

In a conventional ICC workflow, the PCS reference white is D50 and profile information may include adaptation from the original white. This is not an instruction to set every monitor manually to D50. Actual behaviour depends on profiles, conversion direction and rendering intent.

The same caution applies to managed video processing: adding a standalone CAT to an already coordinated path can repeat the operation. List the actual transitions before improving the picture with another technical effect. A D50 or D65 label does not specify the whole algorithm.

What this means in practice

If disabling an explicit CAT makes the image more neutral, check for adaptation elsewhere in the path rather than judging only by appearance.

08

A CAT does not replace camera balance or gamut mapping

Camera white balance during decoding operates on a particular source model and may scale sensor channels. A CAT estimates corresponding colours between reference whites. Gamut mapping fits colours into an allowed gamut. These operations may coexist, but they are not synonyms.

Ordinary RGB does not uniquely recover illumination and reflectance spectra. Matrix adaptation cannot physically relight a scene under a new lamp or automatically solve mixed illumination. A separate skin correction can be a practical task without being exact spectral recovery.

What this means in practice

A warm interior and a cool window in one shot need not both become neutral through one global CAT. Preserving the lighting difference may be the intended creative result.

09

How to make a project test interpretable

Before adding an effect, establish input representation, working context and output. Make sure each tool receives the representation it expects. A matrix defined for XYZ must not multiply nonlinear RGB codes directly: decoding and a change of basis are required first.

Compare the same node and sample set. Record source white, target white, method and preceding technical transforms. Do not call settings an exact copy of this lab without checking the effect algorithm: the hero is an independent matrix model.

What this means in practice

Our example follows decoded RGB → XYZ → CAT → destination linear RGB → encoding. Changing a tag is not a replacement for those operations.

10

A repeated CAT is neither the inverse nor more accurate

Let A map D65 to D50. Multiplying by the same A again treats an already transformed result as though it were still the source. In general A² differs from both A and the identity. Identical stage names do not make the duplicate operation safe.

Returning requires the inverse transition with swapped whites, not another forward pass. Even a correct inverse cannot recover clipping, rounding or other irreversible processing inserted between transforms. This lab tests matrix reversibility without those losses.

What this means in practice

Switch ×1 to ×2: white residual increases. With identical Source and Target, the identity matrix remains identity even when repeated.

11

What the displayed patch actually shows

Every sample is displayed through one fixed XYZ-to-sRGB D65 conversion, without an additional viewing adaptation. Source and target whites can therefore look tinted relative to one another on the same screen. This illustrates different coordinates through a common path; it does not simulate a viewer adapted to two rooms.

If a destination colour falls outside sRGB, only the preview patch is clipped and a warning appears. XYZ, the matrix and checks use the full result. The rounded matrix table is less precise than the arithmetic. Reset restores experiment settings, not device settings.

What this means in practice

Do not validate a CAT merely by choosing the more pleasing patch. Check the stated conversion task and its numerical invariants.

A MODEL YOU CAN CHECK

Check the task and its invariants.

Keep the meaning, the calculation and the limitation together.

A = M⁻¹ · diag(MWt / MWs) · M XYZout = A · XYZin

A linear full-adaptation model. Ws and Wt are whites with Yn = 1; ratios inside diag are componentwise. The inverse transition swaps Ws and Wt.

ConceptWhat it describesWhat not to conclude
Basis matrixConverts linear coordinates of specified primaries.Does not by itself specify a new adapted neutral.
Linear BradfordDiagonal scaling in a fixed adaptation basis.Not a full vision model or spectral relighting.
XYZ ScalingComponentwise white ratios directly in XYZ.A matching white does not prove matching coloured predictions.
CAT02 / CMCCAT2000Other models with their own assumptions.Not implemented here or simulated with Bradford.
Inverse / duplicateThe inverse swaps whites; a duplicate repeats the forward transform.A² generally equals neither I nor A.

DO. OBSERVE. EXPLAIN.

One adaptation. A testable chain.

Use the neutral and two synthetic coloured samples in the hero. They test the model, not measured skin, fabric or lamps.

  1. 01

    Identical whites

    Set D65 → D65 with one pass. Check the matrix diagonal, off-diagonal terms and both XYZ vectors.

    CHECK

    The transform is identity within numerical precision.

  2. 02

    Change the neutral

    Choose D65 → D50, Bradford and Neutral. Check white mapping and the independent one-matrix roundtrip test.

    CHECK

    White residual is near zero; source and target XYZ intentionally differ.

  3. 03

    Compare methods

    Switch to a coloured sample and XYZ Scaling. Keep the same whites and record what changes.

    CHECK

    A correct neutral does not guarantee an identical coloured result.

  4. 04

    Create and remove a duplicate

    Select ×2 and compare white residual with ×1. Restore one pass, then try bypass.

    CHECK

    Duplicate, bypass and inverse are three different operations.

Check your understanding

0 / 4

Tick only what you can explain yourself.

TEST THE EXPLANATION

A situation, not a trick question.

Answer first. Open the reasoning afterwards.

01Why did XYZ change after a correct adaptation?

The task was corresponding colours under a new white, not preserving the absolute stimulus. Check Ws-to-Wt mapping rather than unchanged XYZ.

02Can the matrix multiply 8-bit RGB directly?

No: the matrix is defined in XYZ. Decode RGB and convert to XYZ first, then use the appropriate inverse output chain.

03The inverse did not recover a clipped input. Is the model broken?

Clipping loses information: different values may become identical. Test matrix reversibility before clipping or rounding.

Avoid these shortcuts

  • Do not apply a CAT twice for safety.
  • Do not label an XYZ residual ΔE.
  • Do not promise physical relighting from one RGB frame.
COLOR / DAVINCI RESOLVE

From the model to your workflow.

Before adding an explicit effect, trace what colour management has already done. Validate the technical path on known samples, then evaluate the creative result through the whole moving shot.

Color Management ↗Scopes ↗Color Space Transform ↗

CHECK THE FOUNDATION

Sources and model limits.

Editorial review: 1 October 2026. Links identify the definitions and formulas; exercises are independent teaching examples.

  1. [2]
    CIE · 1931 Standard Observer ↗

    Standard colour-matching functions, not cone sensitivities.

  2. [7]
    W3C · CSS Color 4 ↗

    Definitions and numerical conversions. Candidate Recommendation Draft, 26 September 2026, not a final Recommendation.

  3. [9]
    ACES · White point ↗

    The ACES white point and its distinction from exact CIE D60.

  4. [10]
    Blackmagic Design · Color ↗

    The practical connection to colour management and Resolve tools.

  5. [29]
    ICC · Linear Bradford / chad ↗

    Technical Note 02-2003: basis and matrix derivation. Calculations use stated xy values, not silently substituted rounded whites.

  6. [30]
    CIE · Review of Chromatic Adaptation Transforms ↗

    Open abstract of CIE 160:2004. Full model texts and a live Resolve instance were not tested here.