An archive of my star photography

Nights

Every night I have left a camera running on a tripod, newest first. Each one has a page of its own — what it caught, how it was worked out, and every frame at full size.

Two thousand kilometres south, for a dark sky, Miradouro do Pontal, Alcoutim, Portugal

16–17 August 2026  ·  Miradouro do Pontal, Alcoutim, Portugal

Two thousand kilometres south, for a dark sky

A dark sky on the Portuguese border, and cloud for a third of the night. What got through was the galaxy, forty-one degrees of rotation, and a satellite doing a good impression of a fireball.

605 frames × 15 s  ·  2 h 31 m of shutter
43 min stacked  ·  183 frames lost to cloud
37.4264° N, 7.4555° W
Open this night →
Four meteors, and not a Perseid among them, Port Meadow, Oxford, UK

14 August 2026  ·  Port Meadow, Oxford, UK

Four meteors, and not a Perseid among them

The same field with the horizon in shot. Four real meteors turned up, and the frames held enough to work out exactly where in the picture a Perseid would have had to come from.

397 frames × 15 s  ·  1 h 39 m of shutter
49 satellites  ·  2 aircraft  ·  4 meteors
51.7717° N, 1.2833° W
Open this night →
Twenty-five minutes of open sky, Port Meadow, Oxford, UK

13 August 2026  ·  Port Meadow, Oxford, UK

Twenty-five minutes of open sky

The camera aimed straight up the Milky Way. A deep stack from 153 frames, the first star trails, and everything that crossed the sky while the shutter was open.

153 frames × 10 s  ·  25 min 30 s of shutter
13 satellites  ·  no foreground
51.7717° N, 1.2833° W
Open this night →

How it was made

Everything came from the raw .ARW files. On the first night the sky sat at about 1% of full scale — 172 levels of real signal in the raw against 25 in an 8-bit JPEG.

  1. Decode every frame to linear light, binning each Bayer quad into one pixel: no demosaic guesswork, and half the noise.
  2. Find the brightest 600 stars per frame and register all of them onto the middle one. A cubic warp, not a rotation — the lens has enough barrel distortion to leave stars 1.4 px out otherwise.
  3. Take the light-pollution glow off each frame before registering. It is fixed to the camera while the sky turns past it, so registering smears it, and the frame edges average a different set of samples from the middle: that alone puts a hard oval step across the background.
  4. Combine with a sigma-clipped mean, which discards anything that was only there once — and keep what it discarded as a map of transients.
  5. Sort the transients by whether they return in the next frame, whether they strobe, and whether they share a radiant.