Calculation from the original experimental data of the CIE 1931 RGB standard observer spectral chromaticity co-ordinates and color matching functions

By A. D. Broadbent, Département de génie chimique,
Université de Sherbrooke, Sherbrooke, Québec, Canada J1K 2R1


This paper describes all the steps in the calculations of the CIE 1931 RGB spectral chromaticity co-ordinates and color matching functions starting from the initial experimental data of W. D. Wright and J. Guild. Sufficient information is given to allow the reader to reproduce and verify the results obtained at each stage of the calculations and to critically analyze the procedures used. In some instances, the available literature only provides limited descriptions of the actual steps in the calculations and, in others, important data were not published. Nevertheless, it has been possible to more or less reproduce the entire sequence of calculations. All the tables of numerical data are given in the accompanying computer worksheet file CIE1931_RGB.xls.

Files that can be downloaded:
** updated on 21Aug09 by T.J. Rijgersberg
The update was accompanied by this note:

As a amateur photographer but also as a M.Sc. in Aerospace Engineering I find the nitty gritty details in the field of color management very interesting and want to know all about it. So I came across the article 'Calculation from the original experimental data of the CIE 1931 RGB standard observer spectral chromaticity co-ordinates and color matching functions' of A. D. Broadbent published on your website together with some PDFs and a XLS with the calculations.

I took me quite some time to understand and reproduce it all but in the process of doing so I made a new CIE1931_RGB_clean.xls that helped me a lot! I took all the data from the XLS on your site and redesigned the layout to help me understand. By doing that I came across some inconsistencies in the calculations and the assigned of IDs to tables and sets of (r,g,b) values:

Inconsistent calculations (references to your original XLS):
- sheet 3, cell E192: wrong summation
- sheet 4, cell J93: wrong summation
- Sheet 5, ExVx100 does not match ExVx100 on sheet 7
- sheet 7, table 14 does not match table 14 on sheet 8

The last two are serious. Especially because table 15 on sheet 8 is based on the values in table 14 on sheet 8 AND on the values in the color management function in table 16 that is based on the different table 14 on sheet 7. The result is that the differences between the calculated values and the published values are different when choosing table 14 on sheet 7 or 8 or choosing ExVX100 on sheet 5 or 7. Therefore the discussion on the differences between calculations and published values in the article could go different ways.

Inconsistencies in IDs:
- Table 15 on sheet 7 is a different table than the one on sheet 8
- some tables hold more than 1 set of data
- there are multiple sets of different values for (nr3, ng3, nb3), (nr5, ng5, nb5), (nr6, ng6, nb6), (r5, g5, b5), (r6, g6, b6), (r, g, b)

So I assigned unique table IDs and (r,g,b) IDs with reference to your original IDs.

I hope you find this usefull and you are welcome to use my sheet as a starting point for future publications. I enjoyed my learning curve a lot and the article was the best I could find just using Google.


Tom Rijgersberg
The Netherlands

Copyright 2010 RIT Munsell Color Science Laboratory. All rights reserved.