What your lens does to the frame, measured before anything is changed
A 14 mm lens moves the edge of your frame by tens of pixels, and it does not move it the same way everywhere; this reads the measured coefficients for the lens your files name and reports the displacement in pixels, without resampling anything.
The shape of the problem
The grid on the left is what a pinhole would record. The grid on the right is the same grid through a Samyang 14 mm f/2.8 — the archetypal Milky Way lens — using the coefficients published in the Lensfun database. The two are drawn by the same code the tool uses to answer the question about your lens.
A diagram of the coefficients, not a photograph. This is what the published measurements say the lens does; the tool reports the same numbers for your own frames and changes no pixels. Coefficients from the Lensfun lens database, CC BY-SA 3.0.
The number, on a 24-megapixel frame
Those two pictures are the same fact stated twice. Here it is as pixels, which is the form a photographer can act on — the displacement of a point at each distance from the centre of a 6000 × 4000 frame:
- +42.4 px at four tenths of the way to the edge — pushed outward
- +25.8 px at eight tenths
- exactly zero at the halfway point of the short side, where the two effects cancel
- −29.2 px beyond it, now pulled inward
- −56.9 px further out still, which is the worst of it
- −22.6 px in the very corner, coming back
Against a star whose whole image is about three pixels across, a fifty-seven pixel displacement is not subtle. And the sign changes twice, which is the part that matters: this is a moustache, not a barrel, and a correction with one coefficient cannot describe it at all.
Why it tells you and does not fix it
Correcting distortion means resampling every frame onto a corrected grid, and that was measured here rather than assumed. Doing it improved the geometric error by 17.4% and 42.9% in sensor pixels — and dropped the detector's recall of Starlink passes from 7 in 10 to 2 in 10, because resampling smears the very tracks the search integrates along.
So the honest order is to search the recorded pixels first and undistort afterwards, and that is architectural work rather than a setting. Until it is done, a photographer whose corner is fifty-seven pixels out of place is better served by knowing it than by a silent correction that costs them half their satellite detections.
Where the coefficients come from, and when there are none
The Lensfun database holds 1,520 lenses and 6,430 distortion calibrations, measured against test charts by the people who own the lenses. It is fetched only when your files actually name a lens, and it is about 81 KB over the wire.
It will decline more often than you expect, and each refusal is a different thing:
-
Your files name no lens. Normal, not a fault: a manual wide-angle has no electrical
contacts, so the body has nothing to write. Many cameras record
----. - Nobody has calibrated it. The database says which lenses it holds; yours may not be one.
- Your focal length is outside the calibrated range. A zoom is measured at a few focal lengths and nowhere else. The nearest is used only if it is close; beyond that the answer is a refusal, because interpolating would mean inventing coefficients nobody fitted.
- Two lenses share your focal length and aperture. That is an ambiguity, and picking one of them would be a coin toss presented as a measurement.
Applying one lens's calibration to a different lens does not fail — it quietly bends the picture the wrong way, and the photographer blames the tool. A frame left uncorrected is honest; that is why the refusals are there.
Try it on your own night
Open the stacker Drop a folder in and the note appears beside the inspection, if your files name a lens it knows.