Figure

The order of three resampling kernels, measured

Drawn here at the parameters it defaults to, with every essay that calls it.
The order of three resampling kernels, measured. Each kernel run over five rasters from 48×32 to 160×110 cells, warped into Lambert azimuthal equal-area and back, with the RMS departure from the field measured on the grid it started on. On logarithmic axes each kernel is a straight line and its slope is its order of convergence: nearest 1.00, bilinear 1.98, cubic 2.93. That is the difference between them stated as a number rather than as an adjective — halving the cell size halves nearest's error, quarters bilinear's, and divides the cubic's by eight.

Each kernel run over five rasters from 48×32 to 160×110 cells, warped into Lambert azimuthal equal-area and back, with the RMS departure from the field measured on the grid it started on. On logarithmic axes each kernel is a straight line and its slope is its order of convergence: nearest 1.00, bilinear 1.98, cubic 2.93. That is the difference between them stated as a number rather than as an adjective — halving the cell size halves nearest's error, quarters bilinear's, and divides the cubic's by eight.

It is drawn by operation-figure with show: "kernel-order" — one member of a family of 14 figures that share a generator, so the drawing above is what that generator returns when it is asked for this one and given nothing else.

5 essays call it. Every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about.

Where it is called

Changing this changes every one of these figures.

A raster warped to Lambert azimuthal equal-area and back, nearest against bilinear. The left panel is the field the raster carries — a smooth analytic function, so that the error of an interpolation is the interpolation's error and not a photograph's history. The other panels are what is left after warping into Lambert azimuthal equal-area and back to Equirectangular, shown as the difference from the original at six times the contrast. Nothing moved: the coordinates go through the maps exactly. What is lost is that a target pixel's centre does not fall on a source pixel's centre, so a value has to be invented for it. Bilinear is closer to the field — RMS 0.0022 against 0.0212 — and has given up 0.63 per cent of its variance to get there. The panels are drawn at 48 by 32 cells; the measurement is made at the same resolution. What a machine does with it

Reprojecting a raster invents values

Moving a picture from one projection to another moves no coordinate — the maps are exact both ways. What is lost is that a target cell's centre does not land on a source cell's centre, so a value has to be made up for it, and the making-up has an order of convergence: 1.00 for nearest, 1.98 for bilinear, 2.93 for a cubic, measured by refining the grid.

The same kernels, across an edge. Each kernel measured over the same five rasters as the smooth measurement, on a field that carries a step across a tilted line instead of a smooth function. The solid lines are the edge and the faint ones the smooth field. The orders on the smooth field are nearest 1.00, bilinear 1.98, cubic 2.93; across the edge they are nearest 0.78, bilinear 0.58, cubic 0.60 — within a factor of 1.33 of one another, and the fastest of them belongs to nearest-neighbour, which does no interpolating at all. The ranking a smooth field establishes does not survive a discontinuity, and a real raster is mostly edges. What a machine does with it

An edge has no order of convergence

On a smooth field the three resampling kernels converge at orders 1, 2 and 3 and the choice is obvious. Across a discontinuity they converge at 0.78, 0.58 and 0.60 — within a factor of 1.4 of each other, in an order that puts nearest-neighbour first, and a real raster is mostly edges.

The convergence order across an edge, against the edge's own orientation. Each curve is one kernel, fitted the same way as every other convergence order on this site: the root-mean-square error against the grid spacing, in logs, over five refinements. At 27° they read 0.78, 0.58, 0.60, which is the measurement already published here — and 27° is one point. Turn the edge onto a parallel and the curves collapse, and the nearest-neighbour one goes negative, which is the fit's way of saying the error is not falling at all. A single number for "the order across an edge" is a number about the edge that was measured. What a machine does with it

One edge is not an edge

The three resampling kernels were measured across a discontinuity and came out at 0.78, 0.58 and 0.60 — one straight edge at 27° to the graticule. Across thirteen edges the same kernels span 0.19 to 0.87, the ranking between them reverses, and for an edge lying along a parallel the error does not fall with refinement at all.

Give the edge a width and the kernels get their orders back. Every edge this collection has resampled across has been exactly discontinuous, which is not what a sensor produces: a footprint, an atmosphere and a lens all smooth a boundary over a cell or two before anything is resampled. Convolving the edge with a Gaussian of stated width and refitting gives 1.23, 1.97 and 3.60 at one degree of blur, against 0.78, 0.58 and 0.60 with no blur at all. The blur is held fixed in degrees while the grid refines, which is what happens to a real sensor's data as its resolution improves. What a machine does with it

A real edge has a width

Thirteen edges were measured and every one of them was exactly discontinuous, which no sensor has ever produced. Convolving them with a point-spread function of one degree — a cell or two — takes the three kernels from 0.78, 0.58 and 0.60 back to 1.23, 1.97 and 3.60, and takes the edge along a parallel, which converged at −1.49, up to 1.92 for bilinear and 3.73 for cubic.

A curve built to have dimension 1.2619. The generator replaces every segment with four of equal length at headings 0, +60.0°, −60.0° and 0. Closing the displacement fixes the length ratio at 0.33335, and four copies at that ratio give a dimension of exactly log 4 / log(2 + 2 cos θ) = 1.2619. Nothing here is measured yet: this is the construction the measurement will be checked against. Drawn at depth 5, which is 1024 segments, with the second-level shape shown faint beneath it. What a machine does with it

A line has a length only at a scale

Every measurement on this site so far has been of a curve given by a formula, sampled as finely as the picture needed. A map is not that: the geometry that reaches the page has been through an algorithm whose job is to throw most of it away. The first thing that goes is the idea that the line had a length.

The whole library