In a camera pixel, why does photon shot noise *not* result in a poisson distribution?

I'm currently working to characterize the noise in a CMOS camera. I understand that on top of the read noise and dark noise inherent to the sensor, the data is also subject to photon shot noise.

I've taken some data in uniform lighting conditions and measured the variation of values of a particular pixel over time.

Based on the poisson nature of shot noise, I would expect the variance in the pixel values to be equal to the mean pixel value, however I'm seeing that the noise in the pixel values is proportional to the mean pixel value but significantly smaller than it.

The Wikipedia article on shot noise in optics reflects this relationship, using "$$\propto$$" rather than "$$=$$" but does not explain why.

Why is this? If photon shot noise is poisson distributed, why isn't the variance equal to the mean? I suspect the answer has something to do with the area of my pixels - am I somehow effectively taking multiple samples from the poisson distribution and averaging/adding them?

Additional info in response to questions

• The images are at a significantly long shutter speed with light present. Dark noise and read noise are not the major effects here.
• Folks asked to see data. Here's the same effect in a paper (Pagnutti et al 2017) on the Raspberry Pi Camera: As you can see, at each ISO tested, there was a linear relationship between mean and variance, but the slope differs based on ISO. The unit, DN, is the Digital Number readout of intensity which goes from 0 to 1024 in this camera.

• Hard to say. Would be useful if there was some way that we could see the raw data that you got. – Samuel Weir Oct 31 '18 at 2:24
• "the noise in the pixel values is proportional to the mean pixel value but significantly smaller than it" - Have you accounted for the fact that variance is a square of deviation, so the noise is a square root of and smaller than the mean value just like you measure? – safesphere Oct 31 '18 at 8:42
• @safesphere yes, I am checking the variance (square of the standard deviation), not the standard deviation. – waterproof Oct 31 '18 at 18:33
• Then, as Samuel Weir mentioned above, it would be helpful, if you posted some actual data. – safesphere Oct 31 '18 at 19:09
• Ok, I take it back. I agree with Rob Jeffries' nice answer. The slope should simply be given by the photon to "DN" conversion gain. Incidentally this is a cool way to measure this parameter! – jgerber Nov 1 '18 at 3:16

I do not know what your DN units are but I doubt they are detected photons.

In a CCD camera you have a parameter called the "gain" $$g$$, which can be defined as the number of analogue to digital units produced by each electron read out (which is the number of detected photons).

Thus if you record $$n$$ adus, this corresponds to $$n/g$$ detected photons.

The variance of the detected photons will be $$n/g$$ (just Poisson noise, ignoring the readout noise), but the variance on $$n$$ will be $$ng$$. [ To spell this out. The uncertainty in the photon count is $$\sqrt{n/g}$$. To convert this to adu, multiply by $$g$$. Then square the result to get the variance in adu.]

A plot of variance in $$n$$ vs $$n$$ will thus have a gradient of $$g$$.

In most astronomical CCDs I have used, the gain is set so that the readnoise is properly sampled. i.e. The readnoise is about 2-3 adus. On the other hand you might sacrifice precision to avoid saturation of bright sources by reducing $$g$$. I guess this is what is happening with your different "ISO" settings. Hence the gain for ISO 100 is half that for ISO200 etc.

• Thanks! Still understanding this, but to clarify, it sounds like one DN is what you're referring to as one adu. – waterproof Oct 31 '18 at 21:16
• @waterproof Yes. It appears to be. Essentially the linear digital units that your analogue signal is turned into. – Rob Jeffries Oct 31 '18 at 21:21
• "The variance of the detected photons will be n/g (just Poisson noise, ignoring the readout noise), but the variance on n will be ng." This sounds like the crucial point. Can you spell the reason for this difference out in a little more detail? If I'm measuring an average of n/g photons with a variance of n/g, shouldn't the variance of the measurements be n/g? – waterproof Oct 31 '18 at 21:45
• ah, clearly, that's just how variance works - multiplying a distributed variable by a constant, results in a variable with the original variance times the square of that constant (in this case, (n/g) * g^2 or ng). If you add that detail to the answer I'll mark it as correct! related: math.stackexchange.com/questions/275648/… – waterproof Oct 31 '18 at 21:53
• @waterproof The variance is the square of the uncertainty. You translate the uncertainty into adu by multiplying the uncertainty in photon units by $g$. Then square to get the variance in adu. – Rob Jeffries Oct 31 '18 at 22:31

Your pixel has a size which roughly gives it a well size (how many electrons it holds). Let's say it holds 10,000 e but it is only half exposed at 5000e, the shot noise is sqrt of 5000 or ~~75 electrons. Also your pixel has a QE of probably 60% so it took ~ 9000 photons to get the signal. For short exposure times dark noise is small so likely your total noise is the sqrt of read noise^2 + shot noise^2.

Also, Fyi, shot noise is the noise in the light signal itself, there is no light source that produces a perfectly steady beam, it's all probability and QM.

• This is also the basis of calibrating the gain of the imager. Since the shot noise depends only on the number of detected photons then a measured variance in readout values (ADU) gives you the photons/ADU. See adsabs.harvard.edu/abs/1986ARA%26A..24..255M – Martin Beckett Oct 31 '18 at 3:56
• @physicsdave I'm not sure how you're attempting to answer my question. If the total noise is shot noise^2 + read noise^2, why would the variance be smaller than the expected value from shot noise alone? – waterproof Oct 31 '18 at 19:51
• Janesick is the expert in this.spiedigitallibrary.org/ebooks/PM/Photon-Transfer/… – D Duck Oct 31 '18 at 22:49