Neues Stacking-Software-Projekt "PlanetarySystemStacker"

steffens

Mitglied
Hallo Rolf,

Klingt spannend, da freue ich mich schon auf die Ergebnisse - sowohl in Siril als auch auf den Riesenmond.

Der Speicherverbrauch wird für "normale" Szenarien sicher kein Problem sein, nur bei großen DSLR Stacks z.B. bei Mondfotografie könnte man da schnell an alle Grenzen kommen. Darauf zu optimieren ist sicher keine Priorität, es schadet aber sicher nicht, das für später im Hinterkopf zu haben ;)

Grüße,
Steffen
 

Rolf_Hempel

Mitglied
Hallo Steffen,

klar habe ich das im Hinterkopf, und prinzipiell ist eine "Out-of-core"-Option auch kein Problem. Dann muss der Benutzer eben etwas länger auf die Ergebnisse warten.

Zu meinem 60 Megapixel-Mondbild: Hierzu habe ich diesen anderen Thread aufgemacht.

Schöne Grüße
Rolf
 

komposer

Mitglied
Hallo Rolf,

erst einmal großes Lob für Dein / Euer Projekt. Mit Programmierung kenne ich mich leider nicht aus, aber ich bin ja im Bereich Mond / Planetenaufnahmen sehr aktiv. Ich selbst nutze autostakkert2, habe aber auch andere Programme z.B. Avistack2 ausprobiert. Die Ergebnisse waren eigentlich ziemlich ähnlich aber vor allem wegen der Geschwindigkeit und der einfachen Handhabung verwende ich jetzt nur noch autostakkert.
Wenn ich auf meinem alten Laptop (Dual CPU 2GHZ 4GB Ram)z.B. für ein großes Mondmosaik an die 50 Avis stacken muss, ist das ein wichtiges Kriterium. Ich habe inzwischen extra für die Astrofotografie noch einen gebrauchten SFF Desktop zugelegt und das Stacken geht mit dem i3 3,3 GHZ Prozessor rasend schnell. Aber auch das ist ja mit 4GB Ram kein High-Tech Gerät.
Ich hoffe, dass Ihr die Aspekte einfache Bedienung und Performance nicht zu sehr in den Hintergrund stellt.

Eine praktische Sache ist übrigens auch das automatische Debayern der Aufnahmen meiner Asi120mc. Ist so etwas auch geplant ?

Gruß,
Holger
 

Rolf_Hempel

Mitglied
Hallo Holger,

vielen Dank für das Lob! Leider bin ich seit einer Woche wegen meines Vollmondbildprojekts nicht mehr zur Programmierung gekommen.

Grundsätzlich gilt: Sowohl die bisherigen SIRIL-Entwickler (Cyril Richard und Vincent Hourdin) als auch ich legen größten Wert auf Performance. Das ist ja auch der Grund, dass ich überhaupt eine C-Implementierung neben meinem Python-Code in Betracht gezogen habe. Und ich denke auch, dass wir die Out-of-Core-Option anbieten müssen für den Fall, dass nicht genügend RAM zur Verfügung steht.

Es wird eine ganze Reihe von Kleinigkeiten geben, die Anwender wünschen, wie z.B. das automatische Debayern. Das ist alles nicht schwierig, kostet in der Summe aber viel Entwicklungszeit. Bei SIRIL nehme ich an, dass viele Dinge sowieso schon vorhanden sind. Schließlich hat die Software für den Deep-Sky-Fall ja schon eine gute Reife erreicht.

Bei alledem bitte ich aber um Geduld. Wir machen das alle in unserer Freizeit ohne Bezahlung. Nur wer schon einmal ein solches Softwareprojekt selbst durchgezogen hat, kann wirklich ermessen, wie viel Arbeit das ist. Die "Konkurrenz" (in diesem Fall AutoStakkert) hat dafür Jahre gebraucht. Das werden wir nicht mal eben in ein paar Monaten erledigen können. In der Zwischenzeit können Anwender ja noch AutoStakkert!3 benutzen. Ich fühle mich also nicht unter Zeitdruck.

Schöne Grüße
Rolf
 

komposer

Mitglied
Hallo Rolf,

danke für die Antwort. Nein Zeitdruck wollte ich nicht erzeugen. Wirklich meinen Respekt, dass Du Dir da so viel Mühe machst.

Gruß,
Holger
 

Rolf_Hempel

Mitglied
Hallo Freunde,

nach einer längeren Pause möchte ich Euch kurz vom neuesten Stand erzählen: Heute habe ich das letzte Modul meines "PlanetarySystemStacker"-Prototypen fertiggestellt. Es geht um die Schärfung des Summenbildes. Ich habe dazu einen Multi-Level-Algorithmus implementiert. Man kann bis zu vier Schärfungsebenen mit individuell einstellbaren Kernelradien und Stärken wählen.

Der größte Aufwand war die Implementierung einer vernünftigen Benutzerschnittstelle. Man kann beliebig viele Varianten anlegen, modifizierren und miteinander vergleichen. Die Anzahl der Schärfungsebenen und ihre Parameter können für jede Variante individuell gewählt werden. Der Image-Viewer erlaubt belibiges Hineinzoomen und Verschieben, um die Auswirkung der Schärfung auf Bilddetails zu untersuchen.

Um den Vergleich verschiedener Varianten zu erleichtern, habe ich einen Blinkkomparator implemtiert. Hierzu wählt man einfach die beiden Varianten aus und setzt das BlinkKomparator-Häkchen. Während er läuft, kann man die gewählten Varianten wechseln, die Schärfungs-Parameter ändern oder den betrachteten Bildausschnitt verändern.

Alles ist "multi-threaded" programmiert, so dass die GUI stets aktiv bleibt, auch wenn im Hintergrund ein neues Bild gerechnet wird.

Um Euch einen ersten Eindruck zu geben, habe ich hier einen kleinen GIF-File produziert. Er zeigt den Blinkkomparator in Aktion:

sharpening_compressed.gif


Ich habe hier eine Schärfungsvariante (Nummer 1) mit zwei Schärfungsebenen angelegt. Sie wird mit dem gestackten Ausgangsbild (das ist immer die Variante 0) verglichen. Zum besseren Vergleich habe ich in ein Bilddetail hineingezoomt. Im "Version Manager" unten rechts wird jeweils die Nummer der aktuell gezeigten Variante angezeigt.

In den nächsten Tagen werde ich das Modul in die Gesamtsoftware einbauen. Dann folgen die abschließenden Systemtests. Es geht also langsam dem Ende zu.

Schöne Grüße
Rolf
 

moos

Mitglied
Hallo Rolf,
ganz tolles Projekt. Ich finde Deine Herangehensweise sehr gut. Bin erstaunt, wie schnell Du vorangekommen bist.
Zu Thema Debayern: Ich habe für fits-Datein eine Routine mit 3 Schärfungsalgorithmen geschrieben. Da kannst Du gerne reinschauen. Das tool enstand im Rahmen von theli und gehört zu den fitstools. Läuft mit Linux oder Windows, je nach library.
Kann ich dir in einer Unterhaltung zur Einsicht geben.
 

Rolf_Hempel

Mitglied
Hallo Carsten,

Debayern ist bisher nicht so mein Thema beim PSS, aber die Schärfungsalgorithmen würde ich mir gerne mal anschauen. Ist Deine Theli-Software open-source? Ich habe auf die Schnelle keine Benutzerdokumentation außer ein paar Youtube-Videos gefunden. Wo kann ich sowas finden?

Vielen Dank und schöne Grüße
Rolf
 

moos

Mitglied
hallo Rolf
theli ist bei astro-uni.bonn: THELI: A pipeline for astronomical image data reduction zu finden. Schärfung ist hier aber von mir missverständlich ausgedrückt: es sind Farbinterpolationsmethoden, die unterschiedliche Bildauflösung ergeben. Ein Stichwort ist ppg, pixel pattern group.
Falls du an dieses Thema kommst, können wie weiteres besprechen.
 

Rolf_Hempel

Mitglied
Hallo Carsten,

okay, jetzt verstehe ich. Ist also wirklich eine ganz andere Baustelle. Wie mir scheint ist das auch eher interessant für die Vorverarbeitungssoftware wie z.B. FireCapture.

Ich werde es aber auf jeden Fall im Hinterkopf behalten.

Schöne Grüße
Rolf
 

Rolf_Hempel

Mitglied
Hallo Freunde,

endlich ist es soweit: Der PlanetarySystemStacker-Prototyp ist fertig! Am Samstag habe ich einen Windows-Installer gebaut und auf einen PC kopiert, auf dem kein Python oder eine andere Programmierumgebung installiert ist. Dort habe ich den Installer ausgeführt. Damit konnte ich simulieren, wie die Installation auf einem beliebigen Windows-Rechner abläuft.

Sodann habe ich den ersten großen Test gemacht und ein vollständiges Mondpanorama, bestehend aus 75 Einzelansichten, im vollautomatischen Batchbebtrieb gestackt. Mein PC brauchte für die Prozessierung der 75 AVI-Files (je ca. 1800 Frames) ganze 91 Minuten. Danach habe ich die 75 Summenbilder noch in einem zweiten Batch-Durchlauf mit meinem Programm geschärft. Dafür brauchte mein Programm ganze 24 Sekunden! Der gesamte Durchlauf erfolgte ohne jede Fehlermeldung oder auch nur eine Warnmeldung.

Jetzt war die Zeit für einen ersten großen Vergleich mit AutoStakkert!3 gekommen. Ich habe die geschärften Summenbilder in ein Verzeichnis kopiert, zusammen mit den in AutoStakkert!3 gestackten und mit Wavelets in AviStack2 geschärften Gegenstücken (da AutoStakkert!3 ja selbst kein Postprocessing mitbringt). Da immer die beiden Versionen einer Kachel hintereinander lagen, konnte ich mit IrfanView jeweils zwischen beiden Versionen hin- und herschalten. Natürlich hatte ich der Fairnis halber gleiche Zahlen von Alignment-Punkten und vergleichbare Werte für die anderen Prozessierungsparameter gewählt. Zu meiner großen Freude stellte sich heraus, dass bei allen Kacheln mein Programm das sichtbar bessere Ergebnis abgeliefert hatte: Keine senkrechten Streifen und Schachbrettmuster, keine ausgefransten Mondränder, keine Aufhellungen außerhalb des Mondrandes, und vor allem eine bessere Detailzeichnung in Kratern am Terminator mit ausgeprägten Schatten.

Um zu vermeiden, dass der Wunsch Vater des Gedankens ist, habe ich mehrere Freunde gebeten, die Bilder auch zu vergleichen. Das Resultat war dasselbe! Damit war mir ein großer Stein vom Herzen gefallen. Meine intensive Algorithmen- und Softwareentwicklung des letzten halben Jahres war nicht vergeblich!

Für einen ersten Eindruck könnt Ihr hier das resultierende Mondpanorama sehen.

Jetzt habe ich angefangen, einen ausführlichen User-Guide zu schreiben. Da ich es für eine Zumutung für andere Benutzer halte, ein Programm ohne ausführliche Dokumentation zu verbreiten, werde ich mit der Weitergabe des Windows-Installers warten, bis der User-Guide fertig ist. Ich muss also noch um ein klein wenig Geduld bitten!

Schöne Grüße
Rolf
 

Frank142

Mitglied
Hallo Rolf,

ein großartiges Projekt! Darf ich fragen, ob du auch schon mal einen Test mit einem Sonnenvideo gemacht hast?

Viele Grüße,

Frank
 

Rolf_Hempel

Mitglied
Hallo Frank,

Hallo Rolf,

ein großartiges Projekt! Darf ich fragen, ob du auch schon mal einen Test mit einem Sonnenvideo gemacht hast?

Viele Grüße,

Frank
nein, leider nicht! Bisher habe ich das Programm vorwiegend für den Mond entwickelt. Erstens ist er für mich "Mondsüchtigen" am wichtigsten, und zweitens ist er eigentlich auch der anspruchsvollste Anwendungsfall. Bei ihm kommt alles vor: Von fast detaillosen Mareflächen bis zu extremen Kontrasten am Terminator. Bei Planeten ist alles am einfachsten. Ich habe zwar bisher nur ein Saturnvideo ausprobiert, aber es funktionierte auf Anhieb.

Die Sonne ist so ein Zwischending: Keine großen Kontraste, dafür aber große Flächen mit wenig "Anpack" für das Alignment. Irgendwann werde ich das auch mal ausprobieren.

Schöne Grüße
Rolf
 

Frank142

Mitglied
Zur Not probiere ich das einfach mal aus, wenn du dein Programm veröffentlichst! (Ich bin eher sonnensüchtig...) Gerade in Sachen Schärfung klingt das, was du schreibst, interessant für Sonnenvideos.

Danke und Gruß,

Frank
 

Rolf_Hempel

Mitglied
Hallo Freunde,

heute habe ich endlich den User Guide fertiggestellt. Da ich es für eine Zumutung für die Nutzer halte, eine Software ohne gute Nutzerdokumentation herauszugeben, musste dieser Schritt vor dem ersten Release getan werden. Ihr könnt den User-Guide als PDF-Dokument vom Github-Repository herunterladen.

Am Wochenende plane ich das erste Release des Prototypen. Wenn Ihr mögt, könnt Ihr ja schon mal nachlesen, was Euch erwartet. Viel Spaß!

Schöne Grüße
Rolf
 

Deepsky1980

Mitglied
Ich bin auf jeden Fall dabei. Ich finde das eine ganz tolle Sache das Du das gemacht hast und bin sehr gespannt darauf,
 

Rolf_Hempel

Mitglied
Hallo Freunde,

das Warten hat ein Ende: Heute habe ich den Windows-Installer auf Github hochgeladen. Die Installation ist super einfach: Installer herunterladen, exe starten und Anweisungen befolgen. Getestet habe ich das alles nur auf Windows 10 (1803), aber ich bin ziemlich zuversichtlich, dass es auf Windows 7 und 8 auch geht.

Der Installer schreibt den User-Guide (als PDF) ins Installationsverzeichnis. Bitte lest das Dokument genau durch, bevor Ihr die Software einsetzt. Bei meinen anderen Programmen waren mindestens 90% meines Mailverkehrs mit frustrierten Nutzern darauf zurückzuführen, dass sie den User Guide nicht gelesen hatten. Diese Zeit geht von meiner Freizeit ab, die ich sonst in die Weiterentwicklung stecken könnte. :)

Bitte seid nachsichtig mit mir, wenn es nicht sofoft läuft. Dies ist immer noch ein Prototyp, der ganz sicher noch einige Fehler hat. Auch sind viele kleine Features (wie .ser und .mov - Import, Sub-pixel Auflösung, andere Schärfungsvarianten, ...) noch nicht drin. Andererseits bin ich schon sehr froh, nach etwa einem halben Jahr Arbeit als "Einzelkämpfer" so weit gekommen zu sein.

Noch lieber als Benuterwünsche nach weiteren Features wären mir natürlich Hilfsangebote bei der Implementierung der fehlenden Punkte. Ich habe die Hoffnung noch nicht aufgegeben, dass dies doch noch ein Community-Projekt werden könnte.

Beste Grüße
Rolf
 

DocHighCo

Mitglied
Hallo Rolf,

ich habe den Installer heruntergeladen und das Programm installiert und an einem Mondvideo ausprobiert (ohne zu wissen, was ich eigentlich mache). Ich kann Dir als Feedback geben, daß die Installation und Ausführung auf Windows 10 pro bei mir klappt. Das gestackte Bild sieht mindestens so gut aus, wie der AS3!-Stack.

Gruß

Heiko

PS: Damit hat es den "I.d.iotentest" bestanden.
 

Rolf_Hempel

Mitglied
Hallo Heiko,

Hallo Rolf,

ich habe den Installer heruntergeladen und das Programm installiert und an einem Mondvideo ausprobiert (ohne zu wissen, was ich eigentlich mache). Ich kann Dir als Feedback geben, daß die Installation und Ausführung auf Windows 10 pro bei mir klappt. Das gestackte Bild sieht mindestens so gut aus, wie der AS3!-Stack.

Gruß

Heiko

PS: Damit hat es den "I.d.iotentest" bestanden.
als ich anfing zu lesen, bekam ich zunächst einen Schreck: Eingetlich hatte ich ja viele Stunden in den User-Guide investiert, damit die Leute "wissen, was sie tun". Dann war ich aber doch erleichtert zu lesen, dass es trotzdem geklappt hat. Vielen Dank für das positive Feedback!

Schöne Grüße
Rolf
 

DocHighCo

Mitglied
Hallo Rolf,

noch mal ein ernsthaftes Feedback zu dem was mir aufgefallen ist.
Ich habe ein 16GB großes SER-File mit PIPP in ein AVI-file konvertiert. Wenn ich ein zu großes AVI lade, dann bricht das Programm ohne Vorwarnung ab (4 GB-Grenze?). Unter 4 GB läuft es durch. Alles andere hat dann funktioniert.
Das Bildschärfen habe ich auch ausprobiert. Das Blinkfeature zwischen verschiedenne Versionen ist eine schöne Eigenschaft.
Im stark geschärften Bild sind mir einige Artefakte aufgefallen. Vermutlich sieht man dort die AP-Grenzen:

106810

Ich will nur die linienförmigen Artefakte zeigen. Vermutlich muß ich noch mit den Einstellungen der APs herumprobieren.
Sonst ein wirklich eindruckvolles Programm.

Gruß

Heiko
 

Rolf_Hempel

Mitglied
Hallo Heiko,

vielen Dank für die Hinweise!

Ich muss gestehen, dass meine größten AVIs bisher so um die 3GB waren. Ich muss herausfinden, ob die Bibliothek, die ich verwende, ein Problem bei größeren Dateien hat, oder woran es sonst liegen kann.

Das mit den Artefakten ist seltsam. Kann es sein, dass Du extrem kleine APs eingestellt hast (z.B. 20)? Das wäre meine einzige Erklärung. Bei diesem Objekt solltest Du auf jeden Fall eine größere AP-Size einstellen. Wie im Handbuch beschrieben (!), sollte man bei 100 anfangen und die Größe dann schrittweise verkleinern, bis keine Verbesserung mehr eintritt. Ich würde schätzen, dass das spätestens bei 40 der Fall sein müsste.

Dieses Beispiel hilft mir aber trotzdem weiter: Ich werde versuchen, die Überlappung für das "Edge-Blending" zwischen APs größer zu machen, wenn der Anwender zu kleine APs einstellt. Dann muss er zwar die viel zu große Rechenzeit ertragen, aber es gibt wenigstens nicht die unschönen Artefakte.

Vielleicht versuchst Du ja mal mit einer größeren AP-Einstellung, ob dann die Artefakte weg sind.

Schöne Grüße
Rolf
 

Rolf_Hempel

Mitglied
Hallo Heiko,

jetzt habe ich mal mit meinen eigenen AVIs experimentiert. Auch wenn ich die AP-Size auf 20 stelle, bekomme ich nicht den geringsten Hauch von Artefakten. Ich habe es sogar mit Videos in einer fast ganz strukturlosen Marefläche versucht, wo solche Streifen sofort aufgefallen wären. Auch am Terminator: nix zu sehen. Wirklich sehr merkwürdig!

Blöd, dass diese Files so groß sind. Sonst würde es mir sehr helfen, wenn ich mir Dein Beispiel-AVI irgendwo herunterladen könnte.

Dann habe ich mal im Internet recherchiert, was andere zu großen AVIs und OpenCV (das ist die Bibliothek, mit der ich die Videos einlese) schreiben. Da scheint es eine Menge Probleme zu geben. Vermutlich werde ich auf eine andere Bibliothek ausweichen, und dann auch gleich die anderen Containerformate (mov, ser) mit berücksichtigen. Dieses Thema war für mich bisher nicht hoch prioritär. Die Verarbeitung der Frames hatte für den Prototypen Vorrang. Aber es ist mir klar, dass für die endgültige Version der Dateiimport sehr wichtig ist.

Schöne Grüße
Rolf
 

Rolf_Hempel

Mitglied
Hallo Heiko,

ohne genaue Informationen zu Deinem Anwendungsfall (Kopien von .PlanetarySystemStacker.ini im Home-Directory und Protokoll-File), und besser noch einem möglichst abgespeckten Videofile, bei dem die Artefakte auftreten, kann ich gar nichts machen. Wie gesagt habe ich nichts dergleichen bei irgendeinem meiner Videos bisher gesehen.

Vielleicht hast Du ja Zugang zu einem Server, auf den Du das AVI hochladen kannst.

Schöne Grüße
Rolf
 

DocHighCo

Mitglied
Hallo Rolf,

Du mußt nicht unbedingt für mich jetzt das Problem mit den Artefakten lösen. Dein Programm ist ja noch im Entwicklungsstatus und wird bestimmt noch weiter "entwanzt". Ich werde das verfolgen und auch benutzen.
Wie Du sagst, scheint es Probleme mit den AVIs zu geben. Da steigt das Programm bei mir auch ab und zu aus - auch unter 4 GB.
Ich habe das mit den Artefakten auch an einem anderen (zugegebenermaßen qualitativ schlechten) Video festgestellt und das ganze noch mal mit AS3! verglichen. AP-Größe bei PSS war 100 und bei AS3! 104. Geschärft haben ich mit Wavelets in Fitswork. Beide mit einem kleinen 3" Kugelspiegel mit 2,67" Pixelmaßstab gemacht. Ich würde meine unsystematische Rumprobiererei aber nicht zu hoch gewichten. Ich bin kein erfahrener Softwaretester. Vielleicht kommt hier noch qualifizierteres Feedback.

PSS:
106855


AS3!:
106857


Ich wollte mal sehen, wie sich PSS an einem schwierigen Fall schlägt. Mein Eindruck ist, daß man mit PSS sogar etwas mehr Detail rückgewinnen kann, als mit AS3! (bis auf die Artefakte).

Gruß

Heiko
 

Ronald_Stenzel

Mitglied
Hallo Rolf,

auch ich habe mich mal an PSS0.5.0 versucht. Wenn man bereits mit dem Thema Stackingsoftware Kontakt hat, ist dein PSS sehr intuitiv zu bedienen und bei den einzustellenden Parametern enstehen keine Fragen - besonders wenn man viel mit AviStack gerarbeitet hat.
Auf meinem (mobilem) Testsystem keine Probleme:
i3, 4Gb, 250Gb SSD, 1366*768. Aufnahmedatei: 4000Bilder von ASI120M-S, SER-File per PIPP in AVI gewandelt, Videogröße 4,8Gb - also wären Dateigrößen >4Gb wahrscheinlich kein Problem.

Eine Frage habe ich: kann man auch ein einzelnes TIFF in den PSS laden, um ausschließlich die Waveletschärfung zu nutzen?

vielen Dank für Deine Arbeit - meine letzten Programmieraktivitäten fanden unter Turbopascal, dBase und sogar noch aus Spaß Fortran77 statt :D - Ronald
 
Oben