aistrophotography

AIstrophotography, get it! ahem, anyway.

The other night, while working on this moon shenanigans, I had a passing thought (mentioned in that post as well): how much of my astrophotography workflow in pixinsight could I task clippy with automating?

So, I fired up claude code (model Fable 5.1 in xhigh thinking mode) and gave it the parameters: a handful of folders with past imaging session data of mine (either RGB sony pics or mono LRGB image sets ready to be stacked) on my NAS and a github repo. As it happens, pixinsight’s project file format actually keeps a history of each step done to the data to reach the final product, so the natural progression would be to delineate all the steps I did in pixinsight and automate it. This was the most hands-off vibecoding session I’ve ever done (mostly cus it was late and i wanted to go to bed). I told it to create issues on the repo for every step we need to automate/recreate and asked it to iterate on each one till it was done and went to bed.

When I woke up in the morning, it had stopped (because my screensaver kicked in, which purges my ssh key, cutting off its access to github – “security first!” says the guy that handed clippy the keys and went to bed). I had it pick up where it left off and then had it run the full workflow on two targets:

Without exaggeration, it basically one-shot it (pun intended!):

quietsky PixInsight
M13, Sony A7S II, 43 x 30 s. left: quietsky, auto-stretched, no color calibration. right: original PixInsight processing
quietsky PixInsight
M81, ASI1600MM R+G+B, 20 x 120 s each. left: quietsky, auto-stretched, no color calibration. right: original PixInsight processing

In some ways its results are better, though for M13 its background extraction left a lot of noise and dust motes, which I “solved” by just dropping detail like crazy (I was fighting a losing battle against weird noise/artifacts from my Sony at the time).

One concern I had was that in claude’s iteration overnight it may have diverged from the actual goal of a generalized tool and onto “just recreate a flow that works for cwage’s shitty data”. So just to kick the tires, I snagged some RGB data of M13 from the MOANA data and set it to work on those images (much better quality than anything I ever did or will take):

M13 from the MOANA project, 252 x 60 s RGB, quietsky M13 from the MOANA project, 252 x 60 s RGB, quietsky

And for fun, a comparison of the core between my shitty sony and a 200mm lens vs. proper gear and dark skies:

The two M13s at the same angular scale: Sony A7S II at 200mm vs MOANA at 254mm The two M13s at the same angular scale: Sony A7S II at 200mm vs MOANA at 254mm

So, I haven’t actually answered the “how much could I replace” question, but what claude did overnight was pretty impressive. It’s a tiny fraction of what pixinsight is capable of, and recreating it into a cli would defeat the purpose, because basically all the work done aside from the actual integration is highly subjective/creative where you need visual feedback. It was still a fun experiment though!

The repo is up here – if there are any astrophotographers out there that wanna play around with it, give it a go! It should Just Work in docker. Have fun!


Comments

No comments yet.

Thanks! Your comment has been submitted and will appear shortly.


Leave a comment