Ever since I starting working in camera space, I’ve had what I needed for a true one-step UniWB calibration procedure, but I didn’t have a delivery mechanism, since the procedure required inverting a matrix, and I was using Matlab for that. I poked around and found that Excel can invert matrices, and multiply them too. Armed with that knowledge, I created a spreadsheet to do the math necessary to calibrate a camera using the following procedure:
- In any RGB color space within the gamut of your monitor for which you know the gamma (sRGB is probably the safest choice), make three exposures: one at R=255, G=0, B=0, one at R=0, G=255, B=0, one at R=0, G=0, B=255.
- Bring the images into Rawdigger. Enter the average values of the red, green, and blue raw pixels into the appropriate columns in the spreadsheet.
- Enter the color space gamma into the spreadsheet.
- Enter the desired raw value for the UniWB target.
- Read the UniWB target RGB values from the output cells, and fill the test target with that color in Photoshop.
- Balance to the test target.
- Take a picture of the test target.
- Bring that picture into Rawdigger and look at the EXIF WB coefficients and the raw values to see how well you did.
Here’s the result with the Photoshop color space set to linear Adobe RGB. The input cells are yellow and orange, and the output cells are green. The values from the test target are on the right in bold.
And here’s the result with the Photoshop color space set to Adobe (1998) RGB, with the standard gamma of 2.2:
I tried this with an uncalibrated monitor, and it doesn’t work very well. The reason is that, for the calculations to be accurate, the gammas for the three monitor primaries need to be well controlled, as they are after calibration.
This is a really simple process that requires no iteration, and I’m happy with it. It does, however, require either access to Excel (or some rudimentary knowledge of linear algebra). I wonder if there’s a significant group of photographers that want to use UniWB that don’t have Excel. For those, either Iliah Borg’s iterative approach or the gridded search would be what I’d recommend.
Here’s the spreadsheet (Right-click on it and select “Save target as” to download it): OneStepUniWB