Yet another question about SRM to Tristimulus values

HomeBrewTalk.com - Beer, Wine, Mead, & Cider Brewing Discussion Community.

Help Support Homebrew Talk:

Scott Johnson

New Member
Nov 5, 2019
Reaction score
I'm trying to wrap my head around how to apply ASTM E-308 to SRM measurements for beer. The problem domain in which I am working requires that we have a decent conversion from SRM to RGB (or sRGB) via conversion to Lab* first. It seems that every site I use to create a beer recipe has their own conversion from SRM to RGB, which makes sense, given that it's a sticky problem. That said, I'm looking to write an open source js library that will handle the problem.

Basically, I'm using the algorithm as described here: https://www.homebrewtalk.com/forum/...-in-the-srgb-color-space.413581/#post-5232912

Which I believe is a simplification of the E-308 algorithm. Where I'm having difficulty is that the spreadsheet mentioned in that post (http://wetnewf.org/pdfs/Brewing_articles/MOAWorkbook.xls) doesn't make a ton of sense to me. The post says to choose a XYZ vector based on the observer angle from the spreadsheet. If I choose a 10 degree observer angle, then I would expect that the XYZ vector should be: (82.82, 3.48, 61.86). Is this correct?

Now, choosing an illuminant spectrum is also somewhat confusing. If I want illuminant C (which I believe to be 6774K), what values do I pull from that spreadsheet to add as components for the spectrum? Moreover, how do I calculate these components?

I have some limited background in color theory, but what I'd really like is to be able to have some set of input criteria, say, observer angle and illuminant color temperature, along with the SRM value, and compute an Lab* value.