Astrophotography

A bit of software

For the last year I've been dabbling in the world of astrophotography. It's a hard but rewarding hobby. Being what I am, I obviously started reinventing the wheel and writing software for astrophotography.

Not really. I started vibe coding software for astrophotography. It's way less rewarding and somewhat demeaning, but it gets the ball rolling fast. Anyway, here are a couple of programs I vibe coded.

fitz

fitz screenshot

fitz is a command line utility to batch process FITS files. It can compress and decompress, debayer, stretch, and export them to TIFF.

It can also show you some information about the files and even preview them in the terminal.

fitz terminal preview

You can find more in the git repo. I haven't gotten to binary distribution yet.

FitSmith

FitSmith screenshot

FitSmith is a GUI companion to fitz. Its main purpose is to review session statistics, such as mean ADU, FWHM, noise level, star roundness, etc.

FitSmith will build charts for these metrics so it's easy to spot outliers and frames that aren't quite up to standard.

FitSmith charts

You can find more in the git repo. I haven't gotten to binary distribution either.

SkyPath

SkyPath screenshot

I use a bunch of tools when planning the imaging session. I usually use Telescopius to find the target. Unfortunately (or fortunately), telescopius doesn't know anything about the things (like trees and houses) that obstruct the view for me.

To solve this I use NINA's search and horizon features to see whether the target would clear the obstructions. But NINA is on a completely different computer that sits on the telescope, so I have to connect it to power, start it up, connect to it remotely and then run NINA. And if I want to see what the target trajectory looks like from a different location, I have to load a different horizon and enter different coordinates into NINA.

SkyPath is a simple web app that combines celestial object ephemeris and your local horizon. It allows you to create "observatories", which are just coordinates and a NINA horizon file, and then check what the object path looks like from that location.

It runs completely in your browser and doesn't send your data anywhere. The observatories you create are stored locally in your browser. Give it a try if you feel like it: SkyPath. The source code is available on GitHub.