KStarStack - an experiment towards a stacker

About KStarStack

KStarStack is an experiment to make a cross-platform, open source software that can stack astrophotographs.

KStarStack, as of now, is a piece of C++ code lying in the playground of KDE's SVN repository: http://websvn.kde.org/trunk/playground/graphics/KStarStack

Why KStarStack?

  • Because I couldn't find a user-friendly open source, cross-platform stacking tool
  • Because I wanted to stack deep-sky photographs on Linux

How do we do it?

Stacking involves quite a lot of work. Let's consider the bare minimum first:

  1. We start with a bunch of images of the same region of the sky, which have a lot of stars (i.e., consider photos of Deep-Sky objects to start with).
  2. Flat-Fielding: We then need to do some minimal processing on them to remove vignetting and make the background "flat". We could use the method Seiichi Yoshida mentions here.
  3. Star Detection: The images need not be aligned, so we need to find common points to align the images. For astrophotographs, these would most naturally be stars. We need a good star detection algorithm. Currently, I implement something of my own. Any help will be appreciated.
  4. Image Alignment: The images need to be aligned based on how well they match. I am in the process of implementing a Branch-and-Bound algorithm based on Partial Hausdorff Distance that is outlined here.
  5. Stacking: The pixels need to be correlated and the signal-to-noise ratio must be increased. The actual process of stacking is done by algorithms such as Kappa-Sigma Clipping.

Extensions: In the future, we could plan to implement a lot more alignment methods and stacking methods. The design must be modular to support this.

Current Status:

Currently, the flat-fielding is implemented and is working well.

The star-alignment algorithm that's currently implemented is a home-made algorithm that's terrible, to put it mildly. But it seems to work reasonably.

The branch-and-bound alignment algorithm has been written, but is not compiling and has not been debugged. I don't have much time to work on this project.

The stacking algorithm has not been implemented.

Sources:

Sources may be browsed here: [http://websvn.kde.org/trunk/playground/graphics/KStarStack]

The SVN repo can be checked out using:

svn co svn://anonsvn.kde.org/home/kde/trunk/playground/graphics/KStarStack/

The src/ directory contains the sources. main.cpp is currently redundant, and what is built is the tests in the tests/ directory. Most of the stuff right now is in a state of "ugly-hacks" with TODOs all over, and these should be cleaned up at a later stage.

Contact:

I can be contacted at akarsh DOT simha AT kdemail DOT net
I hang out on #kde-in and #kde-edu on irc.freenode.org and my nick is 'kstar'.

I'd be glad to receive any help in any of these areas. TIA.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License