UniWB and ETTR: the Whole Recipe
UniWB (unitary white balance) and ExposeToTheRight. What is it and why should you care? This is all about jamming the maximum range of light into your raw pictures and being confident you aren’t getting any color channel blowouts. Think maximum possible quality.
The “Uni” part of UniWB alludes to uniform signal gain being applied to the red, green, and blue pixels on your sensor. The optimal gain (or signal boost) is ‘no’ gain, or a multiple of 1. If no gain is given to your pictures, then the histogram in your camera always speaks the “truth”. If you no longer need to leave a little slop in your exposure to avoid blow-outs, because you can now believe your histogram, that means you can get the maximum light into your shadows.
So, there must be a catch. There’s always a catch.
Here’s the catch: your pictures all look green. An ugly, sickly green. But not to worry; the green is curable. It's just not curable inside your camera.
Here’s the deal. I’m going to show you how you can get set up and start using UniWB at no cost. Except maybe a little sweat.
I verified these procedures with a D610, D500, and D7000. Canon (or anybody else) user procedures would be nearly identical. These procedures only apply to "raw" photos, though.
What do I need?
A grey card. So I lied already. You need to get a grey card.
A Windows computer and monitor. You don’t even need a calibrated monitor.
Download “Exiftool” for free. Or something else that can look at exif data.
Your photo editor you normally use to process NEF (raw) photos.
Windows Paint, or something that can draw and display a colored rectangle full-screen.
Make a custom color on your computer monitor
Open up Windows Paint
Click “Resize”, select “Pixels”, de-select “Maintain Aspect Ratio”
Assign something like Horizontal 1920, Vertical 1080 or whatever your monitor size is.
Click “Color 1” (foreground color)
Click “Edit Colors”, then select “Color Solid”
Set “Color Solid” to Red 128, Green 64, Blue 128, then “OK”
Click “Select All”
Click “Fill” (the bucket icon)
Left-click inside the big white rectangle to fill it with your new Color Solid.
Click “View”, “Full Screen”
You now have your monitor displaying a single (pink-ish) color across your whole screen. You will need to do this in a darkened room, so that you don’t see your own reflection. Later, you will probably need to repeat these steps, but change the values of the “Red” and “Blue” colored rectangle as needed in step (6). We will leave the Green value at 64 throughout the tests.
Believe it or not, this pink-ish color is what your camera sensor perceives as “neutral”; the R,G,B gain values applied to it should all land near a value of 1. For my monitor, the rectangle on the right is nearly "perfect UniWB color" for my cameras.
Set your 'White Balance Preset' to the color displayed on your monitor
Put a long-ish focal length lens on your camera, in case your monitor screen distorts brightness/color if you get too close to it.
De-focus your lens, and select “release priority” so it will take an out-of-focus picture.
With your camera in “Raw” mode, set your white balance selection to “preset” (hold WB button and turn dial to get ‘PRE’). Select which preset number you want with the other dial, still holding the WB button.
Fill your viewfinder with the screen color, and hold the “WB” button until the “PRE” flashes in your viewfinder. Press the shutter.
You need to see “GD” displayed to know you have a “good” white balance preset. If you get “no GD”, you need to retry. (Too dim?)
Now, go outside and take one or more interesting and tasteful photographs, using this new white balance preset. You’ll notice that your pictures are that sickly green I mentioned earlier.
Measure the Red and Blue color channels in your photographs
Take out the memory card from your camera and copy the photo(s) to your computer for analysis.
Drag a green photo onto the “exiftool” to get a text file of the exif data.
Exiftool feedback for Red, Blue sensor channels
In the picture above, the Red feedback is about 0.95 (less than 1). Blue feedback is about 0.98, also less than 1. If I wanted to try to get closer to the ideal 1.0 gain, then I would DECREASE the Red value in the colored rectangle and therefore force a BIGGER red gain for the next test. If the Red gain had instead been larger than 1.0, I would instead use a larger red value in the colored rectangle for my next attempt. Similarly, the Blue gain is smaller than 1.0, so in a next attempt I would decrease the Blue in the colored rectangle, forcing the gain to get larger. To keep it simple, I named each rectangle I created with the RGB values used.
In one of my experiments, the following shows the steps I took:
Rectangle R128G64B128: exif feedback has R gain = 1.38818, B gain = 0.64941
(Need bigger R, smaller B):
Rectangle R140G64B118: exif feedback has R gain = 1.15869, B gain = 0.73291
(Need bigger R, smaller B):
Rectangle R145G64B100: exif feedback has R gain = 1.0249, B gain = 0.881347
(Need bigger R, smaller B):
Rectangle R147G64B80: exif feedback has R gain = 0.9907, B gain = 1.13183
(R is good, need larger B):
Rectangle R147G64B86: exif feedback has R gain = 0.9907, B gain 1.0449
For each iteration shown above, I had to go back into “Paint” and make a new rectangle with the adjusted R, B values. While displaying the new rectangle full-screen, I once again set the white balance preset and took another photo for analysis. As the saying goes, rinse and repeat.
Once I have a calibrated UniWB with my camera, I can grab a different camera and perform a white balance preset using the screen rectangle color as-is. I have found that the different Nikon cameras are close enough in color response that I don’t need to iterate any more with them. I suspect the same is true with other camera brands. In other words, it was “one and done”. Trust but verify, though.
Use your photo editor and grey card to get the correct color
Now that your exif feedback is within 5% (R, B range from 0.95 to 1.05) you need to photograph that grey card I told you about, in the SAME light as your tasteful photos using this “good” white balance preset.
Photo of grey card using the UniWB preset
You can see above how the “grey” card photo looks anything but grey. The UniWB preset feedback in my photo editor (Capture NX2 here) shows 4938K. The histogram peaks aren’t anywhere close to being on top of each other. To get the grey card to look correct, I just move the “Fine Adjustment” color slider from its 4938K to where the histogram peaks are on top of each other. As shown below in Capture NX-D, a gray-point "eyedropper" picker can also be used.
Color adjusted to 6457K gets the histogram R,G,B peaks to coincide
By moving my color slider until the R,G,B peaks fully overlap, I get the correct color temperature. Now, the grey card looks grey again. I note this correct color temperature for later use.
Capture NX-D correcting white balance
I thought I’d try to see if Capture NX-D could also fix the white balance. It could, although I used a slightly different mix of “tint” and color temperature to get the best-looking histogram. Capture NX-D will also let you do batch processing to convert many files at once.
The “eye dropper” gray point color picker works here, too. Capture NX-D
When you have a nice, continuous light spectrum in your photo, then you can use the simple technique of picking a spot on the grey card using the "gray point eye dropper". This is a fast way to get a good white balance. Most photo-editing programs give you a similar option. The only downside, however, is that this 'eye dropper' technique doesn't tell you what color temperature is being used!
ETTR (Expose To The Right)
The photo above was taken using the "correct" UniWB preset, at 4938K. I could use the camera histogram and note where the now-accurate colors are located. The lighting used here matches the lighting where I photographed my grey card. I can now adjust exposure until I get the brightest color (green here) against the right-hand-side of the histogram, e.g. ETTR. I can expose with confidence that I'm not getting any blown color channels.
I now know from my analysis of the grey card, which was also shot at the 4938K preset, how to adjust this green photo to make its color balance correct during post-processing.
All I have to do now is to set the color temperature to match the corrected grey card shot, which in this case was 6457K. If I had hundreds of pictures that all need this color adjustment, then I’d create a batch file and run it against all of the pictures.
The above procedures should be complete enough that you now know how to get a correct UniWB setting for your own camera(s). From there, you can now make better use of your camera’s histogram for fine-tuning exposure, via ETTR. Although I'm a Windows user, the same principles can be used for Apple, of course.
You don’t need a calibrated monitor to use these techniques, but you may be forced to iterate more steps to finally locate the proper UniWB setting.
I realize it feels a bit unsatisfying to constantly see green pictures on your camera LCD screen. But at least you can feel confident that your camera histogram will only show you blown color channels that are truly overexposed. You can finally get the absolute maximum amount of light into your shadows. Getting rid of that green is really quite simple, as long as you can wait to process those pictures on your computer.