Short answer
Multiply the light's power by the surface's reflectance at each wavelength, weight the product by each of the observer's three colour-matching functions, add up, and divide by the sum a perfect white would give. For measured lawn grass under D65 with the 2° observer that arithmetic gives X 5.89, Y 7.24, Z 3.81, which becomes L* 32.3, a* -10.5, b* 17.9. The answer depends on the wavelength interval and range of the data, which is why standards fix both.
A spectrophotometer reports reflectance R at each wavelength. Software supplies two more curves: the illuminant's relative power S and one of the observer's colour-matching functions, x̄, ȳ or z̄. At every wavelength the three are multiplied; the products are added across the spectrum to give a raw sum for X, another for Y and another for Z. Each is divided by k, the sum of S × ȳ alone, which is the Y a perfect white reflector would produce. That scaling is why Y runs from 0 to 100 whatever the lamp's absolute power, and why only the shape of the illuminant's spectrum matters.
S × R is the colour stimulus: the light that leaves the surface. Everything after it is a model of the eye, not of the object.
The table follows one measured spectrum, USGS lawn grass, through the sum at seven of its 36 bands. At 550 nm D65 supplies 103.7 units and the grass returns 9.65% of them, a stimulus of 10.0; ȳ is close to 1 there, so that single band adds almost 10 to the raw Y sum of 76.5. At 700 nm the leaf reflects nearly as much, but ȳ is 0.004 and the band adds a few hundredths. The five bands from 530 to 570 nm supply 58% of Y. The grass's steep rise beyond 700 nm, the most striking feature of its curve, is almost invisible to the calculation because the eye is almost blind there.
CIELAB needs a white to compare against: the tristimulus values of a perfect reflector under the same illuminant, computed with the same observer and the same wavelength grid. Each of X, Y and Z is divided by the white's value, passed through a cube-root function, and combined: L* from Y alone, a* from the difference between the X and Y terms, b* from the difference between the Y and Z terms. For the grass, Y = 7.24 gives L* 32.3; X falling short of Y relative to white gives a negative a* (green); Z falling well short gives a positive b* (yellow). Using a white from a different table, a different observer or a different interval than the sample's is a common source of small, constant offsets between two pieces of software.
ISO/CIE 11664-3 defines the standard method as summation at 1 nm from 360 to 830 nm and permits abridged methods at up to 5 nm and down to 380–780 nm only once their effect has been reviewed. Most colour instruments report at 10 nm over roughly 400–700 nm, so ASTM E308 supplies procedures and tables of weights for 5, 10 and 20 nm data and for shortened ranges. An instrument's 10 nm value is not a point sample: its optics average over a band about that wide, which is why weights designed for band-averaged data exist. This site reduces every curve to 10 nm band means over 380–730 nm. For smooth reflectances the cost is small; for lamps with narrow emission lines, point sampling instead of band averaging gives plainly wrong chromaticities.
| Band | D65 power, S | Reflectance, R | Stimulus, S × R | × x̄ | × ȳ | × z̄ |
|---|---|---|---|---|---|---|
| 400 nm | 79.4 | 0.0249 | 1.98 | 0.03 | 0.00 | 0.13 |
| 450 nm | 115.3 | 0.0346 | 3.99 | 1.34 | 0.15 | 7.07 |
| 500 nm | 109.1 | 0.0395 | 4.31 | 0.03 | 1.38 | 1.22 |
| 550 nm | 103.7 | 0.0965 | 10.01 | 4.27 | 9.93 | 0.09 |
| 600 nm | 89.8 | 0.0631 | 5.66 | 6.00 | 3.61 | 0.00 |
| 650 nm | 80.6 | 0.0452 | 3.64 | 1.07 | 0.40 | 0.00 |
| 700 nm | 71.6 | 0.0882 | 6.32 | 0.08 | 0.03 | 0.00 |
| Sum over all 36 bands | 62.29 | 76.51 | 40.29 | |||
| Divided by k = 1056.6, × 100 | X = 5.89 | Y = 7.24 | Z = 3.81 |
Why: Different weighting tables, interval handling or white point: one uses 10 nm weights designed for band-averaged data, the other interpolates to 1 nm, or their reference whites differ in the third decimal.
Fix: Compare the white points each reports for the illuminant and observer, and state the calculation method alongside the tolerance.
Why: Its spectrum was sampled at single wavelengths every 10 nm, stepping over the narrow emission lines that carry much of its power.
Fix: Average the fine-resolution table over each band instead of sampling it, or calculate at the table's own resolution.
Why: The truncated calculation ignores the tail. The weight there is small but not zero, and it matters most for deep reds.
Fix: Use the range-shortening procedure of the standard you report to, and do not mix truncated and full-range results in one comparison.
Each statement is labelled by kind — established fact, a standard’s requirement, observed market data, a convention, or Colourwise’s own interpretation or analysis — with the strength of the evidence behind it.
StandardStrong evidence
ISO/CIE 11664-3:2019 defines the standard method of calculating tristimulus values as summation at 1 nm intervals from 360 nm to 830 nm, and allows abridged methods for intervals up to 5 nm and ranges down to 380–780 nm only when the user has reviewed their effect on the result.
Source: ISO/CIE 11664-3:2019 Colorimetry — Part 3: CIE tristimulus values
StandardStrong evidence
ASTM E308 provides computation procedures and tables of standard values for obtaining tristimulus values from spectral data measured at 1, 5, 10 or 20 nm intervals, including procedures for data covering a shorter range or a wider interval than the CIE recommends.
Source: ASTM E308-22 Standard Practice for Computing the Colors of Objects by Using the CIE System
Colourwise analysisStrong evidence
For the USGS lawn-grass spectrum under D65 with the 2° observer, the weighted sums over 36 ten-nanometre bands are 62.29, 76.51 and 40.29; divided by k = 1056.6 they give X 5.89, Y 7.24, Z 3.81, and the five bands from 530 to 570 nm contribute 58% of Y.
Based on: Colourwise multiplied the 10 nm band means of USGS splib05a record 11208 by those of the CIE D65 table and the CIE 1931 colour-matching functions over 380–730 nm and summed, exactly as the table shows.
Caveat: One specimen of grass in the USGS laboratory geometry. The arithmetic is exact for the inputs; a 1 nm calculation to 830 nm would give slightly different values.
Source: USGS Digital Spectral Library splib05a (Open-File Report 03-395); CIE datasets (colour-matching functions, illuminants)
StandardStrong evidence
Spectral data for object-colour calculation are obtained with instrument parameters, calibration against material standards and stated conditions as set out in ASTM E1164, and are then combined with a CIE standard illuminant and observer as described in ASTM E308.
Source: ASTM E1164-23 Standard Practice for Obtaining Spectrometric Data for Object-Color Evaluation; ASTM E308-22 Standard Practice for Computing the Colors of Objects by Using the CIE System
FactStrong evidence
The CIE colorimetric system indicates whether two stimuli match for a standard observer; it is not intended to provide visually uniform scales of colour difference or to describe colour appearance, which is why tristimulus values are transformed to spaces such as CIELAB for tolerancing.
Source: ASTM E308-22 Standard Practice for Computing the Colors of Objects by Using the CIE System; CIE 015:2018 Colorimetry, 4th edition
Reviewed 6 October 2026. Colourwise summarises its sources in its own words and does not reproduce standards text or proprietary colour data. Spotted an error? Tell us.