Browse all docs

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 colors 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 visualize imagery honestly means understanding those choices well enough to make them deliberately — and to recognize when a picture is leading a reader toward a conclusion the measurements do not support. These ideas 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 in eleven to fourteen bits, often stored as sixteen-bit integers — 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 centers 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 grayscale or through a color ramp that assigns a color to each brightness level. A ramp can make a temperature or index field far easier to read than gray, but it also imposes a visual story, so the ramp itself is a choice to defend. Color 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 natural-color (often called true-color) 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-color 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 visualization whose colors stand for computed values rather than reflected light. Each form has a purpose: natural color for intuitive orientation, false color for contrast the eye cannot otherwise reach, and index visualization for reading a specific physical property directly. Which bands carry which physical meaning is the subject of Spectral Bands; here the point is that the assignment is a display decision layered on top of the measurement.

Choosing a color ramp honestly

A color 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 one hue or several, suits a quantity that increases in one direction, such as an index or a concentration. A diverging ramp, with two contrasting colors meeting at a neutral midpoint, suits data with a meaningful center — 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 color; 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: about one in twelve men, and far fewer women, have some color-vision deficiency, most often difficulty telling 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 grayscale and to color-vision-deficient viewers.

Keeping comparison and figures honest

The most common visualization 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 color 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 color means the same thing throughout. This is what lets a visualization 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 visualization 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.

Sources