Foundations
Image Sensor
How the chip behind a camera lens turns light into numbers, from photosites and quantum efficiency to CCD and CMOS readout, full-well capacity, noise, gain and the ADC, colour filters, rolling and global shutters, and EMVA 1288 measurements.
beginner
An image sensor is the chip at the back of a camera that turns light into numbers. It is a grid of light-sensitive sites, the photosites or pixels, each of which converts the photons it receives during an exposure into electric charge; the chip then reads the charges out, amplifies them and converts them to digital values. Image sensors are also called imagers or, after their two main technologies, CCD and CMOS sensors. How many photons a sensor turns into signal, how much charge a pixel holds, what noise it adds and when each row is exposed set limits that no later algorithm can undo.
Image formation follows light from the scene to the stored pixel value, with the sensor as one step; this article looks inside that step. Noise models for image processing are the subject of image noise; choosing shutter time, aperture and gain for a scene is the subject of exposure; and turning raw values into a finished photograph belongs to the digital camera as a system.
Definition
An image sensor is an array of photodetectors, usually in silicon, together with the circuits that collect, transfer and digitize their charge. Each photosite integrates the light falling on it for the exposure time and accumulates a charge proportional to the number of absorbed photons. The readout circuit converts each charge to a voltage, amplifies it and quantizes it to an integer digital number (DN). A raw image is the array of these numbers before any colour or tone processing.
Intuition
Picture a field of buckets left in the rain for a fixed time. Each catches a random number of drops, more where the rain is heavier, even under perfectly steady rain; an overflowing bucket records only “full”; condensation adds water even without rain, faster on a warm day; and measuring each bucket adds a small error. The water can be passed from bucket to bucket to one measuring station at the edge of the field, or each bucket can have its own gauge. In a sensor the random drop count is photon shot noise, the overflow is the full-well limit, the condensation is dark current, the measuring error is read noise, and the two ways of measuring are CCD and CMOS readout.
Formal Definition
EMVA 1288 describes a linear camera by a short chain of mean values and variances (EMVA 1288, Section 2). Of the photons that reach a pixel during the exposure, a fraction , the total quantum efficiency, is converted to charge, giving electrons. The camera turns electrons into digital numbers with an overall system gain in DN per electron, on top of a dark signal . The resulting mean and variance of the raw value are given in image formation. Combining them with the Poisson statistics of the charge, , gives the relation the standard calls central to characterizing a sensor (EMVA 1288, Eq. 15):
where is the temporal dark noise in electrons and is the variance of rounding to integers. The temporal variance of a pixel grows linearly with its mean signal, and the slope of that line is the gain. A plot of against is the photon transfer curve.
The dark signal itself grows with exposure time . With the dark current in electrons per pixel per second, the standard writes (EMVA 1288, Eqs. 29 and 30)
because thermally generated electrons are Poisson distributed like photoelectrons. Here and are the dark offset and dark noise at zero exposure time; is mostly what is called read noise.
Two limits close the description. The saturation capacity is the largest mean signal that is not noticeably clipped, and the absolute sensitivity threshold is the number of photons that gives a signal-to-noise ratio of 1. In electrons the threshold is (EMVA 1288, Eq. 27)
and the dynamic range is the ratio , often quoted in decibels as (EMVA 1288, Eq. 28 and Section 6.6).
From Photons to Electrons
Photosites and photodiodes
A photon absorbed in silicon can free an electron by the photoelectric effect when its energy exceeds the band gap, about 1.1 eV (the Nobel committee’s 2009 background gives 1.14 eV; Royal Swedish Academy of Sciences, 2009). From , with eV·µm, it follows that photons with wavelengths longer than about 1.1 µm pass through without creating charge, so silicon sensors see visible and near-infrared light but not the thermal infrared. The freed charge is held in a potential well under the pixel: in a CCD the well is created by a voltage on a gate electrode over a metal–oxide–semiconductor (MOS) capacitor, and in a CMOS sensor charge is collected in a reverse-biased photodiode (Royal Swedish Academy of Sciences, 2009).
Quantum efficiency
Not every photon becomes an electron. EMVA 1288 defines the total quantum efficiency over the whole area of a pixel, not only its light-sensitive part, so it includes the fill factor (the light-sensitive fraction of the pixel) and the effect of the microlenses placed over the pixels to gather light onto their sensitive areas (EMVA 1288, Section 2.1). Quantum efficiency depends on wavelength; the standard measures it with narrow-band light no wider than 50 nm and offers a full spectral measurement of as an option (EMVA 1288, Sections 6.6 and 9). For a colour sensor the wavelength dependence of the silicon is further multiplied by the transmission of each pixel’s filter.
Two design choices raised quantum efficiency. Early pixels had low fill factors because transistors and wiring sat between the light-sensitive areas; back-illuminated sensors, which receive light through the thinned back of the chip instead of through the wiring layers, and better microlenses have largely removed that limit (Szeliski, 2022, Section 2.3). Back-thinning also reduces absorption in the gate structures, which matters most for strongly absorbed wavelengths such as the ultraviolet (Royal Swedish Academy of Sciences, 2009). The same background describes CCD quantum efficiencies approaching 90%.
Full-well capacity
A pixel holds a limited charge. With growing exposure the potential well fills, and its maximum is the full-well capacity (Royal Swedish Academy of Sciences, 2009). Charge beyond it can spill into neighbouring pixels, an effect called blooming that older CCDs were prone to; most newer CCDs drain the excess through anti-blooming structures (Szeliski, 2022, Section 2.3). Pixel size matters for the same reason: a smaller pixel collects fewer photons and is more prone to noise (Szeliski, 2022, Section 2.3), and the best signal-to-noise ratio any pixel can reach is the square root of its saturation charge (EMVA 1288, Eq. 55).
EMVA 1288 separates the physical full-well capacity from the saturation capacity that a datasheet reports. The digital output is usually clipped at the largest ADC value before the well is physically full, so the saturation capacity is normally lower (EMVA 1288, Section 2.7).
Reading the Charge Out: CCD and CMOS
The charge-coupled device
Willard Boyle and George Smith of Bell Laboratories described the charge-coupled device in 1970: charge stored in potential wells at the surface of a semiconductor is moved along by changing the voltages on a row of closely spaced electrodes, and they named imaging among its possible applications (Boyle & Smith, 1970). They shared half of the 2009 Nobel Prize in Physics for it; the committee’s background dates the concept to a discussion in 1969 (Royal Swedish Academy of Sciences, 2009). In a CCD camera, the charge packets are shifted row by row down the columns into a serial register at the edge of the chip, and then one by one to an output amplifier and ADC (Royal Swedish Academy of Sciences, 2009; Szeliski, 2022, Section 2.3).
Because the light-sensitive area also stores and transfers the charge, a CCD needs a way to stop collecting light during readout. The Nobel background lists three layouts: full-frame CCDs use almost the whole area for light collection and need a mechanical shutter; frame-transfer CCDs shift the whole image quickly into a light-shielded storage area of equal size and read it from there while the next frame is exposed; and interline-transfer CCDs place shielded transfer columns next to the active ones, at the cost of fill factor, which microlenses partly restore.
The CMOS image sensor
In a CMOS sensor, each pixel converts its charge to a voltage itself, the signal is amplified locally, and pixels are read through a multiplexing scheme, addressed like the cells of a memory (Szeliski, 2022, Section 2.3; Royal Swedish Academy of Sciences, 2009). Timing, control and analog-to-digital conversion can then sit on the same chip: a 1995 preprint by Eric Fossum at the Jet Propulsion Laboratory called the result an electronic camera-on-a-chip and described CMOS sensors as an emerging competitor to CCDs for low-cost uses (Fossum, 1995, abstract).
Why CMOS took over, and where CCDs remain
Szeliski (2022, Section 2.3) sums up the shift: CCDs traditionally outperformed CMOS in quality-sensitive cameras such as digital SLRs, CMOS was better for low-power uses, and today CMOS is used in most digital cameras. The advantages named in these sources are integration of the whole camera electronics on one chip, low cost and low power. In 2009 the Nobel committee still described CCDs as the natural choice for high-performance cameras and most medical and scientific applications, because of their lower noise and higher sensitivity at the time, and noted that CMOS pixels with several transistors each were larger than CCD pixels (Royal Swedish Academy of Sciences, 2009).
CCDs remain in large scientific instruments. As of October 2026, ESA describes the visible-light imager VIS of its Euclid space telescope as a mosaic of 36 CCDs of more than 4,000 by 4,000 pixels each (European Space Agency). Electron-multiplying CCDs and image-intensified cameras fall outside the linear EMVA 1288 model, whose temporal noise consists only of shot noise and dark noise (EMVA 1288, Section 1.2).
Noise and How It Scales
Each step of the chain adds noise. Image noise covers their statistics and the Poisson–Gaussian model; what matters for the sensor is how each source depends on the signal, the exposure time, the temperature and the gain, because those are the settings an engineer controls.
| Source | Mean | Variance (electrons²) | Grows with |
|---|---|---|---|
| Photon shot noise | light × exposure time | ||
| Dark current | exposure time, temperature | ||
| Read noise | offset | , per read | fixed per readout |
| Quantization | — | falls as gain rises | |
| DSNU (offset pattern) | per pixel, fixed | spatial, constant | fixed |
| PRNU (gain pattern) | per pixel, fixed | spatial, | signal squared |
Photon shot noise is a property of light, not of the sensor; its variance equals the mean number of photoelectrons (EMVA 1288, Eq. 13). The other temporal sources do not depend on the signal, so shot noise overtakes them once exceeds the dark variance: with 3.6 electrons of dark noise, as in the example below, above about 13 electrons. It follows that a well-exposed pixel is shot-noise limited and improves only with more light.
Dark current is charge generated thermally in the silicon. It adds a mean that grows linearly with exposure time and Poisson noise of the same size (EMVA 1288, Section 3.1). It also rises steeply with temperature: Release 3.1 of the standard modelled it as doubling every fixed number of degrees, , but Release 4 dropped that model because many modern CMOS sensors no longer follow a simple exponential, and now asks only that measured values be reported (EMVA 1288, Section 3.2). The standard treats dark current as the only strongly temperature-dependent camera parameter. Long exposures and warm sensors make it matter, which is why astronomical cameras are cooled: Rubin Observatory states that the sensors of its LSST camera are kept at about −100 °C to limit the number of defective bright pixels (Vera C. Rubin Observatory, as of October 2026).
Read noise comes from the amplifiers and readout circuit and is added once per readout, whatever the signal or exposure time. It dominates in the dark, and it follows from the table that many short exposures added together are noisier than one long exposure of the same total time.
Quantization adds DN² (EMVA 1288, Section 2.4). In electrons that is , so it shrinks as the gain grows.
Fixed-pattern noise is a spatial pattern rather than a temporal fluctuation, and EMVA 1288 prefers the name nonuniformity: dark signal nonuniformity (DSNU) is a pixel-to-pixel offset, and photo response nonuniformity (PRNU) is a pixel-to-pixel variation of sensitivity (EMVA 1288, Section 4). PRNU scales with the signal, so its standard deviation grows like while shot noise grows like . It follows that a PRNU of 1% equals the shot noise at electrons and exceeds it above that, so bright, flat regions of an uncorrected sensor are limited by the fixed pattern rather than by photon statistics. Averaging frames does not reduce a fixed pattern; subtracting a dark frame and dividing by a flat field does. The spatial variation of dark current, which produces “hot” pixels in long exposures, is not yet covered by the standard (EMVA 1288, Section 4).
Gain, ISO and the Analog-to-Digital Converter
The charge in a pixel is converted to a voltage on a capacitor, amplified, and digitized; EMVA 1288 folds the whole conversion into the single system gain (EMVA 1288, Section 2.1). Video cameras traditionally set the analog gain by automatic gain control; still cameras expose it to the user as the ISO setting (Szeliski, 2022, Section 2.3). Raising ISO does not make the photodiodes more sensitive: quantum efficiency, and hence the number of photoelectrons for a given exposure, is unchanged. What changes is the number of digital numbers each electron produces, and with it three things:
- Quantization noise in electrons, , falls.
- Saturation capacity falls when the ADC, not the well, sets the clipping point: a 12-bit converter with offset clips at electrons, so four times the gain leaves a quarter of the electrons before clipping.
- Read noise in electrons can fall, if part of the readout noise is added after the amplifier, because that part is divided by when referred back to the pixel. The example below assumes such a split; how large each part is differs between sensors and has to be measured, and the standard requires separate measurements for each gain setting (EMVA 1288, Section 5).
Apart from quantization, the gain cancels out of the signal-to-noise ratio (EMVA 1288, Section 2.6), as image noise discusses; the trade is between the noise floor and the dynamic range, which the example quantifies.
The bit depth of the ADC sets the number of levels, . More bits help only while the quantization step is not much smaller than the noise. EMVA 1288 asks for the highest available bit depth during measurements, and notes that when the dark noise is below about half a DN, as can happen with an 8-bit camera and a good sensor, the dark noise cannot be measured reliably and the dynamic range is limited by quantization (EMVA 1288, Section 6.5). Szeliski (2022, Section 2.3) notes that the nominal bit depth of many cameras exceeds the number of bits that carry information.
Colour Filter Arrays
A photosite counts photons regardless of their wavelength, so a single-chip colour sensor places a filter over each pixel. The Bayer pattern, patented by Bryce Bayer of Eastman Kodak (filed 5 March 1975, granted 20 July 1976), puts green, the luminance samples, at every other position and red and blue in alternate rows of the rest, so half of the pixels are green and a quarter each red and blue (Bayer, 1976). A filter array trades spatial resolution for colour: the Nobel background notes that effectively four pixels make one full-colour resolution element (Royal Swedish Academy of Sciences, 2009), and image formation shows the false colour that results when fine detail aliases in the sparser red and blue samples.
For measurement, each position of the repeating pattern is a separate channel: EMVA 1288 analyses a Bayer sensor as four channels, two green, one red and one blue, each with its own quantum efficiency (EMVA 1288, Section 6.6). Interpolating the two missing colours at each pixel, demosaicing, is part of the camera’s processing after the sensor. The filters’ own spectral responses make the sensor’s red, green and blue a device-dependent raw RGB, which the camera later converts to a standard space; color spaces explains the difference.
Shutters: Global and Rolling
A global shutter exposes every pixel over the same time interval. CCDs with interline or frame transfer provide one naturally, because all charges move into shielded storage at once. Most CMOS pixels have no such storage: Meingast, Geyer and Sastry (2005) note that, as of 2004, the pixels of a CMOS camera chip typically could not hold their values, which forces a rolling shutter, in which each row is exposed and read out in turn. Global-shutter CMOS chips exist (the same paper points to early progress), but Schubert et al. (2018) wrote that most consumer devices such as smartphones and tablets included rolling-shutter cameras.
With a rolling shutter every row has the same exposure time, but the start of exposure moves down the image. If row starts at , where is the line time, then a point moving horizontally across the image at pixels per second is recorded at in row . A vertical edge becomes a slanted one, with a shift of pixels per row; with the illustrative values of a 20 ms readout and 500 pixels per second, the bottom row sees the edge 10 pixels to the right of the top row. Rotation about the optical axis bends straight lines, as the checkerboards in Meingast and colleagues’ first figure show. A flash or pulsed light shorter than the readout lights only the rows that are exposing at that moment; for the same reason EMVA 1288 forbids measurements with pulsed illumination in rolling-shutter mode (EMVA 1288, Section 6.3).
These distortions depend on motion, so a static calibration cannot remove them. For geometry from video they are systematic errors, not noise: Meingast and colleagues show that a rolling shutter biases structure-from-motion estimates and derive projection models for constant-velocity motion, and Schubert and colleagues report that ignoring it severely degrades the accuracy and robustness of visual odometry, with direct methods, which align image intensities, especially sensitive. Rolling-shutter-aware structure from motion, SLAM and bundle adjustment model the camera pose as a function of the row’s capture time, often with a constant-velocity assumption (Schubert et al., 2018).
Characterizing a Sensor: EMVA 1288
Datasheets that use their own definitions of sensitivity or noise cannot be compared. The European Machine Vision Association’s standard 1288, first released in 2005 and in Release 4.0 since 16 June 2021, defines how to measure and report the parameters of image sensors and cameras; it is endorsed by the G3 group of machine-vision associations and is free to download (EMVA 1288, Preface and Appendix F). Release 4.0 Linear applies to cameras with a linear response whose raw data are available. It assumes white temporal noise, so processing such as demosaicing, denoising or sharpening rules it out; Release 4.0 General covers other cameras (EMVA 1288, Section 1.2).
The core measurement needs no lens and no scene. A homogeneous light source at f-number 8 illuminates the bare sensor at a single narrow band of wavelengths, at no fewer than 50 exposure levels from dark to saturation (9 suffice for production tests), with two frames at each level and two dark frames at each exposure time (EMVA 1288, Sections 6.1 and 6.5). The mean of each pair gives . Half the mean squared difference of the pair, corrected for any difference in their means, gives the temporal variance alone, because the fixed pattern is identical in both frames and cancels (EMVA 1288, Eq. 18). Then:
- Gain. A straight line fitted to the photon transfer curve between zero and 70% of saturation has slope (EMVA 1288, Eq. 50). The standard checks linearity with a spline and falls back to the general model when the local slope deviates by more than 3% on average.
- Dark noise. The temporal dark noise comes from the dark pair at the shortest exposure, converted to electrons with (EMVA 1288, Eq. 53).
- Quantum efficiency. The slope of mean signal against the calibrated number of photons gives the responsivity , and dividing by gives (EMVA 1288, Eq. 52).
- Saturation and dynamic range. Saturation is the exposure at which 0.1–0.2% of the pixels reach the maximum value; with it and the sensitivity threshold come the dynamic range and the maximum SNR (EMVA 1288, Section 6.6).
- Dark current. The slope of the dark mean against at least six exposure times gives , or the slope of the dark variance for cameras that compensate dark current internally (EMVA 1288, Section 7.1).
- Nonuniformity and defect pixels. DSNU, PRNU, their row and column components, spectrograms that expose periodic patterns, and histograms of defective pixels complete the mandatory set; the temperature dependence of dark current and the spectral quantum efficiency are optional (EMVA 1288, Table 1 and Section 8).
The standard calls this the photon transfer method and cites for it a 1985 SPIE paper on CCDs by Janesick, Klaasen and Elliott, and Janesick’s 2007 book Photon Transfer (EMVA 1288, Section 2.4 and Bibliography).
Examples
Photon transfer on a simulated sensor
The code renders a step wedge of six grey patches (reflectances from 3% to 100%, each 96 × 96 pixels) and photographs it with a simulated 12-bit sensor at 16 light levels. The sensor has a quantum efficiency of 0.6, a full well of 10,000 electrons, a 1% PRNU and a DSNU of 0.8 DN, read noise of 2 electrons before the amplifier and 1.5 DN after it, and a dark current of 10 electrons per second at 25 °C that doubles every 7 °C (the Release 3.1 form, chosen for the simulation). It then measures the sensor as EMVA 1288 prescribes, treating each patch of each frame pair as one point of the photon transfer curve, and compares the recovered gain, dark noise and dark current with the values it simulated. It does this at a base gain of 0.5 DN/e⁻ and at four times that gain, as a higher ISO setting would give, and repeats the measurement over 20 seeds.
import numpy as np
# Rendered scene: a step wedge of six grey patches, 96 x 96 pixels each.
refl = np.array([0.03, 0.06, 0.12, 0.25, 0.5, 1.0])
P = 96
scene = np.repeat(refl, P)[None, :].repeat(P, axis=0) # 96 x 576
# The simulated sensor: the truth that the measurement should recover.
qe, full_well, bits, offset = 0.6, 10_000, 12, 64.0 # QE, e-, ADC bits, DN
pre_read, post_read = 2.0, 1.5 # read noise before (e-), after gain (DN)
fixed = np.random.default_rng(0) # fixed-pattern maps
prnu = 1.0 + 0.01 * fixed.standard_normal(scene.shape) # 1% gain nonuniformity
dsnu = 0.8 * fixed.standard_normal(scene.shape) # offset nonuniformity, DN
y_max = 2 ** bits - 1
def dark_current(temp_c): # e-/s at 25 C, doubling every 7 degrees C
return 10.0 * 2 ** ((temp_c - 25.0) / 7.0)
def capture(rng, photons, K, t=0.01, temp_c=25.0):
"""One raw frame in DN: photons -> electrons -> voltage -> ADC."""
e = rng.poisson(qe * prnu * photons + dark_current(temp_c) * t)
e = np.minimum(e, full_well) + pre_read * rng.standard_normal(e.shape)
v = K * e + post_read * rng.standard_normal(e.shape) + offset + dsnu
return np.clip(np.round(v), 0, y_max)
def mean_var(a, b): # EMVA 1288 Eqs. 16 and 18, a pair of frames
mu = 0.5 * (a.mean() + b.mean())
var = 0.5 * np.mean((a - b) ** 2) - 0.5 * (a.mean() - b.mean()) ** 2
return mu, var
def measure(rng, K, show=False):
mu_dark, var_dark = mean_var(capture(rng, 0, K), capture(rng, 0, K))
pts = []
for level in np.geomspace(100, 25_000, 16): # photons/pixel on white
y0, y1 = capture(rng, level * scene, K), capture(rng, level * scene, K)
for i in range(len(refl)):
s = slice(i * P, (i + 1) * P)
mu, var = mean_var(y0[:, s], y1[:, s])
pts.append((mu - mu_dark, var, y0[:, s].var(),
np.mean(y0[:, s] == y_max)))
pts = np.array(sorted(pts))
level, mu_sat = 1000.0, 0.0 # saturation: raise a flat field by 2% steps
while True: # until more than 0.1% of pixels clip
y = capture(rng, np.full(scene.shape, level), K)
if np.mean(y == y_max) > 0.001:
break
mu_sat, level = y.mean() - mu_dark, level * 1.02
fit = pts[:, 0] <= 0.7 * mu_sat # EMVA: 0-70% of saturation
K_fit, icpt = np.polyfit(pts[fit, 0], pts[fit, 1] - var_dark, 1)
if show:
print("mean-dark (DN) temporal var one-frame var clipped in fit")
rows = list(range(0, len(pts) - 3, 8)) + [-3, -2, -1]
for (m, v, v1, c), f in zip(pts[rows], fit[rows]):
print(f"{m:14.1f} {v:13.1f} {v1:14.1f} {100 * c:7.1f}% "
f"{'yes' if f else 'no'}")
read_dark = np.sqrt(var_dark - 1 / 12) / K_fit # Eq. 53
read_icpt = np.sqrt(var_dark + icpt - 1 / 12) / K_fit
e_sat = mu_sat / K_fit
e_min = np.sqrt(read_dark**2 + 1 / (12 * K_fit**2) + 0.25) + 0.5 # Eq. 27
return K_fit, read_dark, read_icpt, e_sat, 20 * np.log10(e_sat / e_min)
def true_read(K): # input-referred dark noise, e-
return np.sqrt(pre_read**2 + dark_current(25) * 0.01 + (post_read / K)**2)
print("Photon transfer curve at K = 0.5 DN/e- (15 of 96 points)")
gains = (0.5, 2.0) # base gain and 4x gain ("higher ISO")
res = {K: measure(np.random.default_rng(0), K, show=K == 0.5) for K in gains}
print("\n K fit read e- (dark pair) (intercept) true sat e- DR dB")
for K, (k, rd, ri, es, dr) in res.items():
print(f"K={K:<4} {k:6.3f} {rd:14.2f} {ri:13.2f} {true_read(K):8.2f}"
f" {es:7.0f} {dr:6.1f}")
print("\nDark current: slope of mean dark signal vs exposure time (K = 0.5)")
times = np.linspace(0.5, 3.0, 6) # EMVA: at least six exposure times
rng = np.random.default_rng(1)
for temp in (25.0, 39.0):
means = [mean_var(capture(rng, 0, 0.5, t, temp),
capture(rng, 0, 0.5, t, temp))[0] for t in times]
slope = np.polyfit(times, means, 1)[0]
print(f"{temp:.0f} C: measured {slope / res[0.5][0]:5.1f} e-/s, "
f"true {dark_current(temp):5.1f} e-/s")
print("\nRelative error of the estimates over seeds 0-19")
for K in gains:
runs = [measure(np.random.default_rng(s), K) for s in range(20)]
g = [100 * (r[0] / K - 1) for r in runs]
n = [100 * (r[1] / true_read(K) - 1) for r in runs]
print(f"K={K}: gain {min(g):+.2f}% to {max(g):+.2f}%, "
f"read noise {min(n):+.2f}% to {max(n):+.2f}%")
Output (NumPy 2.3.5):
Photon transfer curve at K = 0.5 DN/e- (15 of 96 points)
mean-dark (DN) temporal var one-frame var clipped in fit
0.9 3.8 4.4 0.0% yes
3.9 5.3 5.9 0.0% yes
10.8 8.4 9.3 0.0% yes
17.1 11.9 12.7 0.0% yes
32.7 19.9 21.0 0.0% yes
49.4 27.6 29.0 0.0% yes
90.5 48.2 49.5 0.0% yes
142.6 72.9 76.8 0.0% yes
215.4 112.4 115.3 0.0% yes
411.9 211.6 232.4 0.0% yes
824.0 421.2 488.6 0.0% yes
1795.8 919.5 1233.2 0.0% yes
3749.9 1858.8 3269.7 0.0% no
4031.0 0.0 0.0 100.0% no
4031.0 0.0 0.0 100.0% no
K fit read e- (dark pair) (intercept) true sat e- DR dB
K=0.5 0.503 3.60 3.19 3.62 7522 65.1
K=2.0 1.998 2.16 2.12 2.16 1857 56.7
Dark current: slope of mean dark signal vs exposure time (K = 0.5)
25 C: measured 10.0 e-/s, true 10.0 e-/s
39 C: measured 39.7 e-/s, true 40.0 e-/s
Relative error of the estimates over seeds 0-19
K=0.5: gain -1.03% to +0.90%, read noise -0.82% to +1.05%
K=2.0: gain -0.85% to +0.71%, read noise -0.59% to +1.14%
The temporal variance grows in proportion to the mean, at about half a DN² per DN, and that ratio is the gain: the camera’s conversion factor is recovered from noise alone, without knowing how many photons arrived. At the dark end the variance flattens towards the dark-noise floor, and between the second and third printed points the shot-noise term overtakes that floor, near the 13 electrons (6.5 DN) predicted above. The fully clipped patches at the end have zero variance: saturation shows on the photon transfer curve as a collapse of the noise, which is why the fit stops at 70% of saturation and leaves out the point at 3750 DN.
For every unclipped patch the single-frame variance is larger than the pair-difference variance, and the gap grows with the square of the signal: at 1796 DN it is about 314 DN², close to the DN² expected from a 1% PRNU. Measured from one frame, the fixed pattern would bend the curve upwards and inflate the gain; the pair difference removes it.
The intercept of the fitted line misses the simulated dark noise by 12% at base gain, while the dark-pair estimate is within 1%: the intercept is the poorly determined end of a line whose points reach variances of hundreds of DN², which is consistent with the standard taking the dark noise from dark frames. Over 20 seeds, the gain and the dark noise stay within about 1% of the truth at both gains; for comparison, EMVA 1288 (Eq. 19) gives a relative uncertainty of for a single variance estimated from a pair of 96 × 96 patches, and the fit over many points does better than one.
The gain comparison shows what ISO trades. Four times the gain lowers the dark noise from 3.6 to 2.2 electrons, because in this simulated sensor the 1.5 DN added after the amplifier shrinks when referred to the pixel, but the 12-bit converter now clips at electrons instead of 8062, and the measured saturation capacity falls from about 7,500 to 1,860 electrons. The dynamic range drops by 8.4 dB. At base gain the saturation capacity is set by the ADC, not by the 10,000-electron well, as EMVA 1288 notes is usual. Finally, the dark-frame series recovers the dark current at both temperatures, and the 14 °C rise quadruples it, as the simulated doubling every 7 °C requires.
Common Misconceptions
- “Rolling-shutter distortion can be calibrated away like lens distortion.” It depends on the motion of the camera and the scene during readout, so it has to be modelled per frame, with the motion, or avoided with a global shutter.
- “More pixels on the same chip give better images.” Smaller pixels collect fewer photons, so each one is noisier (Szeliski, 2022, Section 2.3); whether the extra resolution pays depends on the optics and the light.
Where It Is Used
Every camera-based method depends on the sensor, but some depend on its details. Choosing a camera for inspection, measurement or robotics means comparing quantum efficiency, dark noise, saturation capacity and dynamic range, which EMVA 1288 datasheets make comparable. Image denoising works best with a noise model calibrated for the sensor, and the photon transfer curve provides the two parameters of the Poisson–Gaussian model directly. Radiometric methods such as photometric stereo need values that are linear in the light, which by the linear model means raw values with the dark offset subtracted and, for accurate work, the fixed pattern corrected; high dynamic range imaging combines exposures to extend the sensor’s dynamic range. Geometric methods, from camera calibration to visual odometry and SLAM, need to know whether the camera has a rolling shutter. The colour filter array determines how colour is sampled, and with it the false colour that sampling and aliasing produce at fine detail.
Related
- Image Noise
The random variation in recorded pixel values that does not come from the scene, its physical sources in the camera, and how it is modeled and measured.
- Color Spaces
A color space assigns numbers to colors; choosing and converting between RGB, CIE XYZ, CIELAB, YCbCr, and HSV correctly matters for both image processing and learning.
- Sampling and Aliasing
How a continuous image becomes a grid of samples, when the samples determine it completely, and how detail too fine for the grid turns into false, coarser patterns.
- Image Denoising
Estimating a clean image from a noisy observation, removing random variation while keeping edges, texture, and fine detail.
- Digital Camera
The camera as an imaging system, from lens, shutter and sensor to the image signal processor that demosaics, white-balances, colour-corrects, tone-maps and compresses its output; RAW against processed images, metadata, machine-vision interfaces, camera classes, and where processing breaks the assumptions of vision methods.
- Camera Calibration
Estimating a camera's intrinsic parameters, lens distortion, and pose from images of a target with known geometry, usually by a closed-form initialization followed by minimizing reprojection error.
References
- European Machine Vision Association (2021). EMVA Standard 1288: Standard for Characterization of Image Sensors and Cameras, Release 4.0 Linear.
- Szeliski, R. (2022). Computer Vision: Algorithms and Applications (2nd ed.). Springer. Section 2.3.
- Boyle, W. S. & Smith, G. E. (1970). Charge Coupled Semiconductor Devices. Bell System Technical Journal, 49(4), 587–593.
- Royal Swedish Academy of Sciences, Class for Physics (2009). Scientific Background on the Nobel Prize in Physics 2009: Two Revolutionary Optical Technologies.
- Fossum, E. R. (1995). CMOS Image Sensors: Electronic Camera On A Chip. Jet Propulsion Laboratory preprint, NASA Technical Reports Server record 20060037547 (abstract).
- Bayer, B. E. (1976). Color Imaging Array. US Patent 3,971,065.
- Meingast, M., Geyer, C. & Sastry, S. (2005). Geometric Models of Rolling-Shutter Cameras. arXiv:cs/0503076.
- Schubert, D., Demmel, N., Usenko, V., Stückler, J. & Cremers, D. (2018). Direct Sparse Odometry with Rolling Shutter. European Conference on Computer Vision (ECCV), Lecture Notes in Computer Science, 699–714.
- European Space Agency. Euclid's instruments (official mission page, accessed October 2026).
- Vera C. Rubin Observatory. LSST Camera (official technology page, accessed October 2026).