Visualization

Making imagery visible is a step apart from measuring it. The numbers a sensor records are a description of the surface, but a screen cannot show those numbers directly; something has to decide which values become dark, which become bright, and which colours stand for what. Every rendered image is therefore the result of choices, not a neutral window onto the data, and the same scene can be made to tell different stories depending on how it is displayed. Learning to visualise imagery honestly means understanding those choices well enough to make them deliberately — and to recognise when a picture is leading a reader toward a conclusion the measurements do not support. These ideas hold in any tool, and they build on Digital Imagery, where a pixel already holds one calibrated number per band, and on Spectral Bands, where those bands carry distinct physical meaning.

Why raw values are not directly viewable

The values stored in a pixel rarely map onto what a display can show. A sensor may record brightness across twelve or sixteen bits — thousands to tens of thousands of distinct levels — while a screen renders each channel in eight bits, just 256 steps. More importantly, the real information usually occupies a narrow slice of the recorded range: most land pixels cluster in a low band of values, while a few bright roofs, clouds, or sun-glinted water sit far above them. If the full recorded range is mapped linearly onto the display, the middle is squeezed into a handful of near-black levels and the image looks flat and dark. Reflectance products add their own wrinkle, since their meaningful values often fall between zero and a fraction of one and must be scaled before a display can use them at all. The gap between the measured range and the viewable range is why some transformation is always applied, whether or not it is stated: the only question is which one, and whether it was chosen honestly.

The histogram and contrast stretching

The histogram — a count of how many pixels fall at each brightness level — is the primary tool for deciding what to show. It reveals where the data lives, which values are rare outliers, and whether the scene is dominated by dark water, bright cloud, or a mid-toned landscape. A contrast stretch uses that shape to map a chosen input range onto the display’s full black-to-white span, expanding the range where the pixels concentrate so real differences become visible. A linear stretch between the minimum and maximum keeps every value but wastes most of the display on empty extremes. A percentile clip — mapping, say, the 2nd to 98th percentile and letting the rest saturate — usually looks far better, because it spends the display’s range on the bulk of the data rather than on a few outliers. A standard-deviation stretch centres the range on the mean and reaches out a fixed number of deviations, which suits roughly symmetric data. None of these alters the underlying measurements; each only changes how they are shown. But the choice is consequential: a stretch that clips aggressively can make a subtle flood look like a sharp boundary, and a gentle one can hide it, so the stretch is part of what a reader concludes and deserves to be recorded, not left implicit.

Single-band ramps and multi-band composites

A single band is one number per pixel, so it is shown either as greyscale or through a colour ramp that assigns a colour to each brightness level. A ramp can make a temperature or index field far easier to read than grey, but it also imposes a visual story, so the ramp itself is a choice to defend. Colour proper comes from combining three bands, assigning one each to the display’s red, green, and blue channels to form a composite. Mapping the visible red, green, and blue bands to their matching channels yields a true-colour image resembling what the eye would see. Routing an invisible band into a visible channel — most commonly near-infrared into red, so vigorous vegetation glows — produces a false-colour composite that makes hidden structure legible. A derived layer such as a vegetation or water index is usually shown as a single band through a ramp, an index visualisation whose colours stand for computed values rather than reflected light. Each form has a purpose: true colour for intuitive orientation, false colour for contrast the eye cannot otherwise reach, and index visualisation for reading a specific physical property directly. The Spectral Bands concept covers which band combinations carry which meaning; here the point is that the assignment is a display decision layered on top of the measurement.

Choosing a colour ramp honestly

A colour ramp is not decoration; it shapes what a reader infers, and a poor one can invent structure that is not in the data. A sequential ramp, running from light to dark in a single hue, suits a quantity that increases in one direction, such as an index or a concentration. A diverging ramp, with two contrasting colours meeting at a neutral midpoint, suits data with a meaningful centre — a change image where positive and negative both matter — but it is misleading when applied to data that has no natural middle, because the eye reads the midpoint as significant. Ramps should also be perceptually uniform, so that an equal step in value looks like an equal step in colour; the once-standard rainbow ramp fails this, compressing some ranges and exaggerating others, and inventing sharp edges where the data is smooth. Accessibility matters too: a large share of readers cannot reliably distinguish red from green, so a ramp or composite that encodes its message in that single contrast will fail for them, while ramps designed to vary in lightness as well as hue remain readable in greyscale and to colour-vision-deficient viewers.

Keeping comparison and figures honest

The most common visualisation error is invisible: a stretch computed independently for each image. When every scene is stretched to its own minimum and maximum, two dates of the same place are mapped by different rules, so a pixel can change colour even though its measured value did not — and a genuine change can vanish because both images were rescaled to look similar. Any comparison across dates, across tiles in a mosaic, or against a colleague’s figure demands a fixed scale: the same input range and the same ramp applied to every image, so that colour means the same thing throughout. This is what lets a visualisation support Time Series and Change Detection rather than quietly undermine them. An honest figure carries the evidence of its own construction: a stated scale or a legend, the stretch or value range recorded alongside it, and a note of which bands are shown. Above all, a visualisation is a reading aid, not a measurement — display scaling changes the picture, never the calibrated values beneath it, and conclusions should be drawn from the numbers with the image as a guide, not the other way around. Any capable stack, whether a Python raster toolkit, a desktop GIS, or a cloud platform, exposes these same controls under different names; the reasoning here is what keeps the result honest in all of them.