Originally, this question was titled: How to detemine native color temperature of a sensor?

For questions about warming filters and color filters in general, leading answers indicate that for optimal signal-to-noise ratio it would be wise to adjust colors optically. But for adjusting, how would one first measure the target "native" color temperature where white color causes equal signal in different color channels?

I assumed it's somewhere close to daylight, but this unadjusted shot where @Karel demonstrated UniWB seems to be shot in daylight and has a strong domination in green and blue channels:


My camera (like many others) does not have UniWB, so I'd prefer a solution that does not take advantage of UniWB setting.


Thinking a bit more, it's actually not the color temperature that is important. The end result I'm interested in is how to choose the filter to use for achieving balanced signal in all color channels? Perhaps I don't even need to know the color temperature, I'm just used to see filter specifications citing color temperature conversions.

I see the answer would depend on

  • characteristics of sensor
  • current lighting

The sensor is the same, as long as I do not switch bodies. The lighting will be different in different situations, but there are common scenarios - daylight/flash, cloudy, tungsten.

So, how do I choose filters for my sensor in those common scenarios? I hope there's a better way than just buying a bunch and trying them all out.


2 Answers 2


Karel's sample shot has a strong greenish color cast because every "pixel" is processed without weighting, which therefor gives green twice the effect as red and blue. The result is an image processed from minimally amplified pixels, where as normally red and blue channels would be amplified by a factor greater than one to compensate for the greater number of green pixels. From a signal-to-noise optimization perspective, that would be most optimal.

From a digital "white balance" standpoint, I'm not really sure there is any way to determine exactly what the base output of the sensor is. It might vary between manufacturers, it may be handled simply by amplifying the signal from each pixel channel, or it may be performed entirely by image processing logic after read and amplification. I would think that a good baseline to work with would be to use a 1.0 weighting for each pixel channel, and a daylight temperature setting (5200-5500k). That should normalize the camera around about as pure "white" light as light can get.

If I understand what you mean by correcting white balance optically, you would then need to have a color filter that properly filtered out about half the green wavelengths of light to compensate for the change in how you are processing the sensor signal. Since you have twice as many green pixels as red and blue, and the signal is processed without weighting, you need to reduce the amount of green light reaching the sensor by a similar amount.

I would be a bit skeptical about this really improving anything. If it was the case that processing light this way before it hit the sensor was ideal, digital camera manufacturers would have already accounted for it with additional filtration in the pre-sensor filter stack that most digital cameras have these days. I think the decision to use twice as many green pixels as red and blue is done because more wavelengths of light fall within that color range than for red and blue. Having more sensitivity in that more prolific range of light frequencies is overall BENEFICIAL, not detrimental, to signal ratio. With an unweighted/filtered approach...you are reducing the overall light by at least 1/4, requiring amplification of the final signal across the board, not just in the red and blue channels.

  • \$\begingroup\$ I do agree there is little point in halving green light (I have twice as many sensels needing it), but Karel also reported red and blue channel values significantly different (162 vs 197) for white in this image, so I really doubt about daylight being the optimal WB. \$\endgroup\$
    – Imre
    Commented Sep 11, 2011 at 19:40
  • \$\begingroup\$ @Imre: In Karel's actual UniWB sample image, the channel weighting is 1.0 for all three channels. Technically speaking, UniWB IS a white balance setting, wherein there is no output adjustment applied to each of the pixel channels...so I guess there really isn't actually a 5200k+UniWB...there is really just UniWB. So in the end, for your goals, its a "white balance" setting of 1.0 weight on all three channels, plus an optical filter. \$\endgroup\$
    – jrista
    Commented Sep 11, 2011 at 21:02

One suggestion from the link (http://www.guillermoluijk.com/tutorial/uniwb/index_en.htm) provided in my original answer:

The steps would be:

  1. Shoot at some brilliant source of light for a couple of seconds, so that all three channels get blown in all pixels
  2. Use the resulting RAW file that will be in the memory of the camera to set custom white balance
  3. The precision of the UniWB achieved can be checked by shooting at anything with the new white balance, and looking at the multipliers displayed by DCRAW when developing the resulting RAW with the camera white balance: dcraw -v -w

The quick method does not work for all cameras. The Nikons for instance discard any pixel affected by saturation for the white balance calculation. Neither the Canon 5D seems to admit the data from a blown RAW. The Sony Alpha 100 on the other side, and even if the camera warns about a possibly wrong white balance adjustment, allows to use it providing perfect multipliers (1.000000). The quick method works perfect for the Canon 7D.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.