# PlanetarySystemStacker

PlanetarySystemStacker (PSS) ist ein freies Astronomieprogramm unter GNU General Public License zur Bildoptimierung von Amateuraufnahmen von Mond, Sonne und Planeten.
Das Programm optimiert Aufnahmen über das Stacking-Verfahren. Dazu werden möglichst viele Bilder eines Objekts von einer Beobachtungsreihe miteinander verrechnet.

## Software
### Ein- und Ausgabe

Das Programm nimmt Videos in den gängigen Formaten (SER, AVI, MP4) entgegen, extrahiert die Frames, aus denen es die besten Bildelemente extrahiert. Ebenso kann es mit Einzelbildern umgehen, die in einem unkomprimierten Format (TIFF, PNG, FITS) aufgenommen wurden.
Das Speichermanagement des Programms erlaubt es, auch Bildsequenzen von vielen GBytes Größe zu bearbeiten, selbst wenn diese nicht gleichzeitig im Speicher gehalten werden können.
Das Ziel des Stacking-Verfahrens ist es, durch Mittelwertbildung möglichst vieler Frames das Bildrauschen zu reduzieren, kleine Bilddetails hervorzuheben und ein optimiertes Foto zu erstellen. Da atmosphärische Störungen aber nicht nur die Bildschärfe verändern, sondern auch die Geometrie verzerren, müssen die Frames vor der Mittelwertbildung nichtlinear entzerrt werden.

### Arbeitsweise

In einem ersten Schritt ordnet das Programm die Frames automatisch nach Schärfe in abnehmender Reihenfolge, siehe GUI. Da es vorkommt, dass Artefakte eine gute Bildschärfe vorgaukeln, können einzelne Frames auch manuell von der Weiterverarbeitung ausgeschlossen werden.
Im nächsten Schritt, der Bildstabilisierung, versucht das Programm, alle Frames durch Verschieben möglichst gut mit dem schärfsten Frame zur Deckung zu bringen. Wegen der unterschiedlichen Verzerrung der Frames kann das nicht perfekt gelingen.
Da alle Frames mehr oder weniger verzerrt sind, kann keines als Referenz zur Entzerrung der übrigen Frames dienen. Als Referenz wird daher ein (wählbarer) Prozentsatz der schärfsten Frames gemittelt. Da die Verzerrungen statistischer Natur sind, ist das Ergebnis zwar etwas unscharf, aber unverzerrt.
Der entscheidende Schritt ist die Ermittlung der Verzerrungen aller Frames gegenüber der Referenz. Hierzu überdeckt das Programm das Bild mit bis zu mehreren Tausend Ankerpunkten und misst dort die lokalen Verschiebungen. In einem kleinen quadratischen Bereich um jeden Ankerpunkt herum wird die Verschiebung korrigiert, bevor dieser Bereich für die Mittelwertbildung herangezogen wird. So entsteht für jeden Anker eine kleine quadratische Umgebung (Patch) mit dem Stacking-Ergebnis. Diese Patches werden in einem letzten Schritt durch fließende Überlagerung zu einem Gesamtbild zusammengesetzt.
Optional schließt sich an das Stacking die Nachbearbeitung an. Das Programm erlaubt, automatisch oder manuell die Kanäle einer Farbaufnahme subpixelgenau gegeneinander auszurichten. Aus dem noch sehr unscharfen Summenbild können mit einer Hierarchie von Schärfungsfiltern Bilddetails herausgearbeitet werden. Die einzelnen Schärfungsfilter arbeiten nach dem Prinzip der unscharfen Maskierung und basieren wahlweise auf Gaußfiltern, bilateralen Filtern, oder einer Überlagerung beider.

### Codebasis

Entwickelt wird die Software in Python mit dem GUI-Toolkit Qt. Sie läuft unter Microsoft Windows, macOS und Linux.
Der Quellcode und die Dokumentation, auch der Algorithmen, stehen auf Github zur Verfügung. Auf Rechnern mit installierter Python-Software kann PSS mit „pip“ vom PyPI-Server installiert werden. Zur Installation auf Windows-Systemen ohne Python steht ein Installer auf Github bereit.

## Geschichte

Der Amateurastronom Rolf Hempel entwickelte das Programm MoonPanoramaMaker (MPM) zur Perfektion seiner Mondaufnahmen. Um die Kacheln des Panoramabildes zu verbessern, entwickelte er den PlanetarySystemStacker als freie Alternative zu anderen proprietären Programmen. Im Jahr 2020 erschien eine erste stabile Version, deren Entwicklung im Detail in den Foren nachgelesen werden kann.
Das derzeit populärste proprietäre Stackingprogramm ist AutoStakkert!3. Da es keine Nachbearbeitung anbietet, greifen hierfür auch heute noch viele Anwender auf das seit zehn Jahren nicht mehr weiterentwickelte proprietäre Programm Registax zurück.