Satellites are drawing lines through your star trails

Mega-constellations like Starlink have multiplied the satellites bright enough to register in a long exposure; a plain lighten stack keeps every track, and sigma rejection removes your meteors with them. The fix is to find each track and repair its hole from a neighbouring frame, so the sky stays real. If more of your recent nights have a straight bright line ruled across the stars, you are not imagining it — here is why it is getting worse, and how to take the satellites out while keeping everything you actually pointed the camera at.

On this page

Why it is suddenly so much worse

Low-Earth-orbit mega-constellations changed the sky faster than anything in the history of the hobby. Starlink alone has put thousands of satellites into orbit and is licensed for tens of thousands more, and it is not the only constellation heading up. They are brightest for the hours around dusk and dawn — exactly when a lot of people shoot — because the ground is dark while the satellite, high up, is still lit by the sun. Over a night of exposures, each pass rules a clean straight line across your frame, and a single bright train can cross dozens of your stacked frames.

Aircraft do the same thing with a dashed line, because their anti-collision strobe flashes tens of times a minute. Between them, a modern all-night sequence from a busy sky can carry more artificial tracks than meteors — and they are usually brighter.

Why a plain stack keeps every one

A star-trail stack keeps the brightest value seen at each pixel across the night — that is how the stars draw their arcs. A satellite track is, by construction, the brightest thing at the pixels it crosses. So a lighten stack keeps it, perfectly, every time. There is nothing a plain maximum can do about it: the track is the maximum.

Why the usual fix deletes your meteors

The standard trick is sigma rejection: at each pixel, discard the samples that are much brighter than the rest before combining. It does remove the satellite — and it removes your meteors and the faint end of your real trails, because a meteor is also a one-frame bright streak that looks, statistically, exactly like the thing you are trying to reject. You end up with a clean sky and none of the moments you stayed up for.

An all-sky exposure with a dashed trail outlined by the detector
The detector integrates along candidate lines, so a track far too faint to see in any single pixel adds up to a detection and is outlined. Image property of Yebes Observatory, used with credit.

How to remove the track and keep the sky

The right tool does not throw brightness away by statistics. It finds the track itself — a matched filter integrates along candidate lines so a faint satellite adds up to a detection, and a small learned network points at the ones the filter alone would miss — and then it repairs the hole from a neighbouring frame, where the same patch of sky was not crossed. The satellite disappears; the real sky underneath is not painted or interpolated, it is the sky your camera actually recorded a moment earlier or later. That same evidence also describes a one-frame meteor, so the tool reports and removes the measured line without pretending it knows which object made it.

In a historical, frame-held-out tile test from one Sony A7C night, the model had higher precision at matched recall than the compared detector. Other frames from that night contributed training negatives, so this is not an unseen-camera test — and it only ever proposes: every candidate is listed with its length, width and score. Automatic decisions are applied before the single full-resolution stack; the finished result lets you inspect and override every one. If keeping a particular meteor matters, mark that candidate as Keep.

Stack a night, satellites removed →

Deterministic synthetic detector evidence showing one measured straight track with exposure geometry, an unresolved class, and a refusal without exposure metadata.
Deterministic synthetic findStreaks detection and fail-closed classification limit. It does not identify a satellite and is not camera output or a benchmark.