There’s a technique on the RawDigger site for determining the unity gain ISO for a camera by using photon noise. The scheme is basically a search over a range of ISO values to find the one where the square root of the average value of a group of similarly-exposed raw values equals the standard deviation of the values.
I thought that it should be possible to find the unity gain ISO by calculating it from one exposure, or, for greater accuracy, from a group of identical exposures. I’ve found one, and I will tell you about it.
First, let’s go back and review the whole unity gain concept.
Here’s a simplified model for what’s in a typical digital camera:
The sensor responds to light from the lens. There are individual photosites, aka sensels. To make this equations that follow simpler, think of this as being a one-pixel camera. There is an amplifier whose gain is set by the ISO control on the camera between the sensor and the analog to digital converter (ADC). Let’s assume that each photon that hits the sensor causes an electron that can be measured (quantum efficiency of one); if the quantum efficiency is less than that, the number of electrons and the associated photon noise (measured in electrons) will be proportional to the number of incident photons.
Assume the ADC outputs unsigned integers. There is some gain of the amplifier that causes one electron to make a one least-significant-bit (LSB) change in the output of the ADC. The position of the ISO control that sets the amplifier to that gain is called the “Unity Gain ISO”. The terminology is a little confusing, because the amplifiers gain is not usually one at this ISO setting. It’s easier to understand if you think of “Unity Gain ISO” as expanding to “that ISO setting at which one photon causes, on average, a one LSB change in the ADC output.”
If the ADC is perfect, and there are no other important sources of noise, there is no point in increasing the ISO setting in the camera above the Unity Gain ISO; if you do so, all you’re doing is losing headroom without gaining any more detail in the shadows. Even if the ADC is not perfect, you’ll probably do yourself no good with respect to the shadow noise past say, twice the Unity Gain ISO.
The standard deviation of the photon noise (measured in electrons at this point) is the square root of the number of electrons, and also the square root of the number of incident photons. So the signal to noise ratio (SNR) measured in electrons is the square root of the number of electrons.
The analog to digital converter (ADC) sees a signal, V, that’s proportional to the sum of the signal from the subject and a noise component. The noise component is the sum of the photon noise, the dark noise, and some other components. There is also noise introduced by the ADC and the amplifier, which I will ignore in this post. As far as I can tell, at Zone III and above, the photon noise should swamp out all the other noise sources (remember that the result of adding two uncorrelated noise sources is the square root of the sum of the squares, which favors the larger component).
If we call the signal measured in electrons, Se, and the photon noise, measured in electrons, Ne, the SNR, measured in electrons, SNRe, is given by the following equation:
If we set the ISO control to some arbitrary setting, ISOtest, and measure the signal, Sadc, and noise, Nadc, at the output of the ADC in ADC integer values, we can measure the SNR at the output of the ADC, SNRadc. It is related to SNRe by the following equation:
Where G is an unknown constant associated with ISOtest. If we can calculate G for this test condition, we will be able to use the following equation find the ISO setting that makes G one:
Substituting in our SNRadc equation,
Squaring both sides,
Solving for G,
And plugging that into our equation for unity gain ISO,
To make this practical, rather than making many exposures and looking at one pixel of each, you can assume uniformity among a small group of pixels, and get the signal and the noise in one shot.
I tried it out with a Nikon D4. I made 16 exposures at each ISO of a defocused Zone VI target (about a count of 4000; full scale is 16383), selected a central 200×200 rectangle, used RawDigger to compute the signal and the noise for each of the color planes, computed the unity gain ISO for color plane each exposure, computed the average unity gain ISO for each exposure, computed the mean and standard deviation of the average unity gain ISO for each test ISO, and plotted the mean, mean plus two standard deviation, and mean minus two standard deviations (97 out of a hundred trials should fall between the two outer lines):