


Compute ISO saturation speed and in the future other speeds
speed = isoSpeed(speedType)
Purpose:
Estimate the ISO speed according to either the saturation or noise
method.
The saturation ISO speed summarizes "how much light" is needed to make
the "bright parts" in the image saturate. The higher the ISO speed the
less light is needed to achieve just that. Saturation-based ISO speed
measures sensitivity: the higher the ISO speed the more "sensitive" the
system.
The saturation ISO speed is a property of the Sensor; it does not depend
on other camera properies such as optics and processing. (Well, actually
depends on the type of light illuminating the scene, but more on that
later)
The properties that mainly govern the Saturation ISO speed are: a) The
well capacity: Nmax (units: electrons) b) The Responsivity functions of
the Sensor (i.e. QE): R (units: electrons/photos)
Now the formula. To get there we must clarify some things: 1) How are
"bright parts" defined? The brightest parts are higlights. According to
ISO highlights are sqrt(2), i.e. 41% brighter than a white (100%)
reflector.
2) How is "amount of light" defined?, According to ISO there are two
Saturation based ISO speeds defined, one for D65 and one for Tungsten,
for the remainder let's stick with D65. a) The technical term for "amount
of light" is the photometric quantity "Exposure" measured in lux*s and
abreviated with the letter H. b) There is also a more specific definition
of "Camera Exposure" which is the amount of light that reaches the sensor
from a 0.14 gray reflector, if(!) the image is correctly exposed.
Hence the question now becomes:
a) How much D65 light (measured in lux*s) is needed to make the sensor
saturate.
Solve for scalefactor:
Nmax = Max[R'*SceneLightSpectrum/H(SceneLightSpectrum)*scaleFactor]
Calculate Highlight Exposure:
H_highlight = H(SceneLightSpectrum)*scaleFactor
b) How high was the "Camera Exposure" for that case.
H_camera = (H_highlight/sqrt(2))*.14
Finally, ISO saturation speed
SaturationISOspeed = 10/H_camera
Example:
speed = isoSpeed('saturation')
Copyright ImagEval Consultants, LLC, 2003.