# Sum of pixel values more than incident photons

I'm getting efficiency more than 100% for my camera in ISOs higher than 6400. Under what circumstances does one get more pixel values than the number of incident photons (photon detection efficiency more than 100%)?

P.S. I removed the IR filter from my Nikon D3s and now have a fog covered the CMOS and I'm using dcraw to get the raw pixel values out of the raw image.

Ref. to IR fog: Bright image with infrared D3s and cap on (image included)

UPDATED: Thanks for the contributions, I guess I've got to emphasize on couple of thing: 1- I'm not trying to calculate Quantum Efficiency but the photon detection efficiency (one can calculate one from another by knowing about geometrical efficiency and Geiger efficiency). 2- I know the exact number of incident photons by an acceptable uncertainty. 3- I guessed it could be some digital amplifications, but then it should be well calibrated for such DSLRs and considering that I'm not saturating the pixels.

• How do you compute your efficiency, what is your definition ? The only notion close to what you suggest is quantum efficiency and I'm pretty sure you can't possibly know the number and ratio of photons your sensor is aborbing. – Olivier Mar 31 '16 at 18:02
• Re IR: that's why there's an IR filter. And many black plastics (such as lens caps) aren't so black in the IR. – Chris H Mar 31 '16 at 18:22
• I am a little ignorant... How you get more than 100% on something... in this universe? How do you measure eficiency on a sensor? – Rafael Mar 31 '16 at 18:44
• I added the actual answer to my post. – Euri Pinhollow Apr 1 '16 at 4:50
• Cameras are tools for making photographs and are designed for that purpose. Using them as instruments for other things can be interesting, but it's not surprising when they turn out to be less than ideal, and except for the cases where knowing the technical details is useful for the main purpose (photography!), this is basically off topic. – mattdm Apr 1 '16 at 8:33

Based on your question at Mathematica.SE I assume that you simply summed up the integer values for each pixel in the raw file, and the total was greater than what you assume to be the number of incident photons.

First, how do you know what is the actual number of incident photons and are you sure your estimate is correct?

Assuming that your photon count estimate is correct, it is still not surprising that the pixel sum is greater. You seem to be assuming that one recorded photon will not cause an increase greater than 1 in the pixel value. This is not true. The values written into the raw file may be digitally amplified, i.e. multiplied by a constant factor. For example, if I import a 14-bit D7100 raw file captured at ISO 6400 into Mathematica, I find these values:

``````In[96]:= data = Import["~/Desktop/DSC_2935.NEF", "RawData"];

In[97]:= MinMax[data]
Out[97]= {0, 16383}

In[98]:= Take[Union@Flatten[data], 10]
Out[98]= {0, 2, 6, 8, 10, 14, 16, 18, 20, 24}
``````

Notice that the full 14-bit range is utilized (i.e. `0..2^14-1`), but all values are multiples of 2. As I remember, ISO 12800 files have multiples of 4 (though I didn't verify it at this moment).

Finally, while I am not familiar with the details of how sensors work exactly and how the data is read out, I would not be surprised if it turned out that the quantization of light (or stored electric charge) is not perfectly reflected in the recorded data. I would expect the amplification process to introduce noise and not always record the same value for the same number of quanta.

• Should I use a package for .nef files? Because I previously used that command you used about and Mathematica says that .nef is an unknown format, then I used dcraw with specific setting: -4 -D -T for 16-bit linear unprocessed tiff file. – faf Mar 31 '16 at 20:19
• @faf No, it's built in since version 10.1. What version do you have? – Szabolcs Mar 31 '16 at 21:07
• @Szablocs I have 10.0.4, I'm gonna upgrade. Thanks. – faf Mar 31 '16 at 21:12

There are several things which one should take into account to answer this question:

Therefore, it is not completely correct to ask about what ISO should be set to produce at least 100% efficiency - because efficiency is inheritably different for all wavelengths. It is also inaccurate to say that you have more than 100% QE at some ISO for same reasons - QE of sum of all channels, only red channel, or what?

However, you may:

1. define some exact wavelength
2. learn quantum efficiency for that wavelength for all three channels (I do not know how to do it though, one will need at least a calibrated light source for that to emit arbitrary light amount) for any ISO
3. add quantum efficiencies for given wavelength together and compute a mupltiplier for sum of channels to get the number of photons (inverse of quantum efficiency)
4. convert gray non-debayered image (output from `dcraw -d -4 -r 1 1 1 1` (do not use -D, or you will have constant additional error in each pixel because in this case no black leveling is applied) to grayscale image with summing together each group of four cells and multiplying the result by computed number

This will give you the array of photon numbers with variable precision (worse SNR in darks, better SNR in highlights but with less absolute accuracy in highlights)

Or, you may use ISO in camera to amplify signal and extract only one channel from image but you will loose some precision and will not be able to get the number of photons without some constant multiplicative error.

That said, any ISO higher than unity gain ISO won't give you any significant additional precision apart from lower noise floor (better precision of dark tones) with respect to object luminance. In case of Nikon D3, the highest ISO which in sensible to be used is ISO800: in this graph the point which is closest to diagonal dropped onto the graph corresponds to ISO800 (actual ISO is somewhat lower).