Display - ISET/isetcam GitHub Wiki
What the display represents
ISETCam has tools to evaluate image system components and overall image processing quality. But measuring the quality of an RGB image requires knowing how that image would appear on a display device — nobody looks directly at RGB values; they are always shown on a display, and the eye responds to the resulting spectral radiance. The display structure makes that last step explicit.
Display calibration data (data/displays/*.mat) store the spectral
radiance distribution of the display's primaries and its gamma
function — the same physical, calibrated representation used for the
scene, optical image, sensor, and ip structures. Like those, the display
comes with the usual functions: displayCreate, displaySet/displayGet,
displayWindow, and displayPlot.
d = displayCreate('LCD-Apple');
displayWindow(d);
gamma = displayGet(d,'gamma');
spd = displayGet(d,'spd'); % Spectral power distribution of the primaries
dpi = displayGet(d,'dpi'); % Physical pixel density
Where the display fits in the pipeline
Scene (radiance) --oiCompute--> Optical Image (irradiance) --sensorCompute--> Sensor --ipCompute--> Image Processor --> Display
The display is the pipeline's final stage — how the ip's rendered RGB
values are physically realized as light. When no display is explicitly
specified, such as when rendering the scene, optical image, or ip
windows, ISETCam uses an implicit
sRGB display color model. Explicit,
calibrated display models are typically used for image-quality metrics such
as CIELAB and spatial CIELAB, where the physical viewing conditions matter.
We are aware, of course, that not every engineer follows this path — many
compare RGB values directly, without accounting for the physics of the
display device or viewing distance. This is true, for example, of SSIM,
which is only a luminance metric in any case.
The display model runs in both directions
A calibrated display model is also used to go the other way: turning an
ordinary image file into an estimated scene spectral radiance, via
sceneFromFile. The display's primaries and white point determine the
radiance sceneFromFile assigns to each RGB value — see
Scene Radiance for
the full explanation and worked example, including how two different
display models produce two different estimated scenes from the same image
file.
Recommended tutorials and examples
- Image processing, color, metrics, and displays —
t_displayIntroductionandt_displayRenderingcover the display structure directly. - Examples —
s_ipSRGBdemonstrates the sRGB calculation and its relationship to XYZ and linear RGB values.
Related FISE concepts
The online Foundations of Image Systems Engineering (FISE) develops display colorimetry and the display-referred color spaces used here as conceptual background.