Pretty much anyone who is into amateur astrophotography will be familiar with Deep Sky Stacker (aka DSS). It’s a great application that takes combinations of light and dark frames (amongst others) and merges them to produce a single stacked output frame. It’s Windows-based, but allegedly runs on Linux (and perhaps MacOS?) under WINE. WINE is a very impressive piece of work, but I often struggle to make it work how I’d like, so my usual workflow for processing my images involves transferring the subs from the Linux machine that manages the imaging to a Windows box to do the stacking.
Some years back, DSS became open source and I considered attempting to port it to run natively on Linux. Professionally I have a bit of form for this sort of thing as my first “proper” job was porting development tools to various flavours of UNIX and UNIX-like systems, back in the days when there was an entire ice-cream parlour of flavours (and host processors). However, the process was just too slow going given that I’ve had very little to do with Windows (the less the better in my view) since before NT was released.
Fortunately for me, the DSS project team now have a goal to convert the code to use Qt rather than Windows’ native, err, windows, which has removed many of the stumbling blocks for me. The code is still pretty Windows-centric in places and my preference is to have the application “just work” without the user needing to install “extras” that might break other components of their system, but the opportunity to move forward grew.
So, I cloned the repo and started beating on the code (and the build system — having something that will work on, say, Launchpad is a major plus). Yesterday I reached the point (having fairly hideously hacked a few bits and pieces) where it’s actually possible to complete compilation of the main application (there’s a command line version and a live-stacking version too, but they can wait). That doesn’t mean it actually works. I’m quite sure it doesn’t. But it gives me hope that I’m heading in the right direction. And if it will compile on Linux, perhaps it might also be made to run natively on MacOS (not quite yet — there are one or two ducks that still need to assume the appropriate relative positioning first). But here’s what I’ve got: