by ʇolɐǝz ǝɥʇ qoq

Submit your Photo
Hall of Fame

Please participate in Meta
and help us grow.

Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What is an effective means of determining the average dark current/noise of a camera image sensor? My understanding is that this is type of noise is temperature dependent, what other factors may influence the dark current magnitude?

Please note, I am not looking at removing it, I am looking to quantify it.

share|improve this question
A good read. – Pouya Jun 19 '13 at 12:47
This might fit better at the physics stack exchange site, which I am basing solely on the fact that you call it "dark noise" and want to "quantify" it. – dpollitt Jun 19 '13 at 12:47
well, to clarify, I am mainly looking at methods in order to retrieve the dark current/noise. I am okay if this is migrated. – user20509 Jun 19 '13 at 19:07
up vote 0 down vote accepted

There is an intrinsic quality of the camera sensor and analog processing called "noise figure". Analog circuits with a higher noise figure means that the random fluctuations in the noise current has a wider spread (variance, in mathematical terms) than circuits with lower noise figures, given that they are at the same temperature.

Nikon uses a noise reduction process that is worth understanding. (I suppose other makers have something similar.) In this NR process, a dark image is recorded from the sensor, with the shutter closed. This is done immediately after the real picture is taken, so it is done under the same conditions (same temperature) as the original picture. It then subtracts the sensor noise from your real photo. (You must choose to enable this NR process).

What does this mean?

First, you should understand that what the sensor is recording is an accumulation of the effects of photonic and electrical current over the duration of the exposure. The longer the exposure is, the longer this accumulation takes, and the sensor noise from dark current builds up. If the shutter is open, this accumulation of sensor noise also has an accumulation from the image intensity added to it. The accumulation results in a measurable electric charge at each pixel of the sensor. The amount of charge is proportional to the photonic power plus the noise power that it is sensing.

This sensor noise can be different for every pixel in the sensor. This is because there may be minute differences in noise figure for each pixel (even though they are manufactured on the same wafer, or chip). So some pixels will have more noise than others, even though they are at the same temperature.

What is an exposure, exactly?

In the description above, and exposure is not just the time the shutter is opened. At the same time, the sensor must be operated. At the beginning of an exposure, every pixel must be drained of any electrical charge caused by the previous exposure and any noise since the previous time it was cleared. This is a reset to zero, so to speak. At the end of the exposure, the electrical charge must be measured. Even when the NR dark image is recorded (and the shutter is closed), this sensor processing has to be done. It the circuitry waits too long to measure the charge at every pixel, then noise current can continue to add to the charge.

The final step in NR

Once you have two "exposures" from the sensor, the dark image is subtracted from the real image. The assumption here is that the noise level measured at each pixel is nearly identical, so subtraction removes much of the noise.

Does it work?

I have never tried NR on my camera, but I have seen professional light painters use it. I would take that as an endorsement.

How do I quantify the noise?

As I explained, the noise can be measured by taking a dark exposure. You should be able to do that without enabling a noise reduction feature - just leave the lens cap on and take a picture.

Measuring and quantifying noise figure is a little complicated, but it's a common part of designing any electrical circuits that are sensitive to noise (like your cell phone receiver, for example). There is plenty of literature on how to quantify noise figure, and I won't go into it here (unless you have a specific question, and then I can try to answer it). I don't imagine this would be easy for a multi-megapixel sensor, but it is doable.

This is a statistical measurement, and your results get better if you make the measurement over a longer time.

What else causes noise?

You might see that noise (or noise figure) apparently isn't identical from one measurement to another. There might be other factors that can account changes. One thing to consider is any penetrating radiation. This can include cosmic rays or maybe the radiation from a luminous dial wrist watch (some of us have these!). Radiation like this is all around us, and the camera sensor can pick it up just like a Geiger counter can. I wouldn't expect this to be much, but I haven't quantified it, so I can't say for sure.

share|improve this answer

Dark Current should primarily be a thermal factor, however heat can be introduced from a variety of sources. Generally speaking, for every 10° ambient temperature change, the contribution of dark current should change by a factor of two. Other thermal sources beyond just the ambient temperature can affect dark current, though. Dark "current" ultimately gets its name from the fact that friction of electrons flowing through a circuit generates heat, which, in the case of a photodiode system like a sensor, can inadvertently release electrons.

Other thermal sources, such as off-sensor high frequency components (i.e. DIGIC5 in a Canon camera) can produce heat as well, and introduce a non-linear thermal gradient across the surface area of the sensor (peaking at the edge or corner closest to those hot off-die components.) It should also be noted that in a CMOS sensor (and I believe in a CCD), the behavior of each and every pixel is not identical. Some pixels are more prone to dark current, while others are less. This results in hot pixels, which are really just pixels that more freely release electrons in the presence of increasing heat. Hot pixels are fixed, however, and it is possible to map them and normalize the "response" with post processing.

In your comment, you mention how to "retrieve dark current/noise". If I understand your meaning correctly, and I am assuming a photographic context here, the best way to get information about sources of noise intrinsic to the electronics is to take dark frames and bias frames. A dark frame is a "cap on" exposure for a specific duration, ISO, and temperature...normally the identical exposure of a preceding light frame (normal exposure with lens cap off). A bias frame is a frame of the shortest duration possible, at the same ISO of any light frame you wish to subtract the bias frame from (temperature is a non-factor for bias frames). ALL frames should be captured in RAW. Capturing frames in JPEG will result in the compression algorithm obliterating the information you need, rendering it useless.

Dark and Bias frames are usually produced in concert with light frames as part of multi-frame stacked astrophotography. A number of light frames are produced, an equal number of dark frames are produced (or possibly a fixed amount, 20-40 at the same shutter speed, ISO, and temperature), and around 20 or so bias frames are produced. All of the dark frames are stacked to produce a "master dark frame". This would effectively be a map of all dark current. Similarly, all bias frames are stacked to produce a "master bias frame". This effectively maps all intrinsic electronic noise, or read noise. These two master noise maps are then applied to each and every light frame to subtract noise. Each light frame, post noise removal, is then stacked to maximize the exposure and saturation with the cleanest output possible.

It should be noted that Nikon sensors do not use a bias offset, which results in any negative voltage signal being clipped. This can make it a bit more difficult to remove noise from an image in this manner, as it is impossible to create a complete map of the cameras read noise. Sony Exmor works in an entirely different way than any other sensor, so any camera using an Exmor is probably just as limited as Nikon sensors in this respect.

I am not sure of your ultimate goals, however this is the only way I know of to map noise in a modern digital camera. So long as you capture dark and bias frames in RAW, you could, theoretically, "quantify" the amount of noise in any given pixel, or the average of all pixels, or average of a given region of pixels, by referencing the digital values for each of those pixels in the RAW images data. There are some tools that can load up any RAW file, and simply do a basic, non-demosaiced "render" to screen, either in color or in monochrome. You could also reference your camera's manufacturer APIs and file format documentation to process the information directly.

Keep in mind, the information in a RAW file is one step away from the actual analog has been converted to a digital form. That means you'll have a small contribution of quantization noise (usually a fraction of an electron, so negligible), as well as a gain factor. The numeric (digital) range is fixed to 12 or 14 bits in most modern cameras, so this is probably going to be most useful at ISO 100 (where gain is at its base level, and you are capable of utilizing the entire photodiodes charge capacity).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.