PSS auf Linux | Astronomie.de - Der Treffpunkt für Astronomie

PSS auf Linux

mhs_mhs

Mitglied
Meine Hochachtung für das Projekt.

Habe die GUI-Version 0.8.3 auf einem PC mit CentOS 7 ans Laufen gebracht.
Leider läuft die Software bei mir nicht richtig von der Kommandozeile.

Zwei Beispielprojekte befinden sich im Anhang.

Beispiel 1 mit jpg-Bildern, mode=Planet:
Mit Log-Level (--protocol_detail) 1 kommt "Start ranking frames" und PSS bleibt nach 23 Sekunden hängen, anscheindend in einer read-Operation.
Mit Log-Level 2 läuft PSS nach "Number of frames..." sofort in eine Exception (s. Log).

Beispiel 2 mit Videodatei, mode=Surface:
Ein zweites Projekt läuft mit Log-Level 2 2:30 min bis "Index of best frame..." und bleibt dann ebenfalls hängen.

Beide Projekte laufen in der GUI-Version bis zum Ergebnis (png-Datei).

Ich habe versucht, $PATH zu erweitern - leider ohne Erfolg.
Ich habe auch versucht, PSS aus verschiedenen Verzeichnissen zu starten - leider auch ohne Erfolg.

Kann mir jemand helfen?
 

Anhänge

  • pss.txt
    2 KB · Aufrufe: 30

Rolf_Hempel

Mitglied
Hallo,

gerade habe ich mal mit der neuesten Version 0.8.4 eine Videodatei probiert, die früher immer funktioniert hatte. Tatsächlich bleibt es auch bei mir nach "Index of best frame" hängen (wie in Deinem Beispiel 2).

Ich hatte die letzten Versionen nicht mehr im Kommandozeilenmodus getestet. Da scheint irgendetwas kaputt gegangen zu sein. Ich werde mir das mal im Detail anschauen, aber das kann einige Tage dauern. Ich melde mich dann hier, wenn es wieder klappt. Sorry!

Nur eine Frage: Du schriebst, dass Du die Version 0.8.3 installiert hast, also offensichtlich mit "pip". Dein Protokoll-File ist aber mit der Version 0.8.0 erstellt. Hast Du Dir das Repository (master) geklont?

Schöne Grüße
Rolf
 

mhs_mhs

Mitglied
Hallo Rolf,

vielen Dank für Deine schnelle Antwort.

Ich habe die Version 0.8.3 (master) als zip heruntergeladen, das dürfte ja einem clone entsprechen, und mit pip installiert. Dass das Protokoll der Kommandozeile sich mit 0.8.0 meldet, hat mich auch irritiert. Im GUI steht 0.8.3. Vielleicht ist dies ein Hinweis, dass da etwas durcheinander geraten ist.

Ich konnte mir jedoch nicht vorstellen, dass ich der erste bin, der auf einen Fehler in der neuen Version stösst, und habe deshalb vermutet, dass es an meinem Linux liegt.

Bei der Installation musste ich (nur) eine Hürde nehmen: Die aktuelle Version von (python36-)pyqt5 (5.16 ?) scheint inkompatibel zu sein. Doch mit der älteren Version 5.14 funktioniert pip.

Viele Grüße
Michael
 

Rolf_Hempel

Mitglied
Hallo Michael,

gestern Abend habe ich den Fehler im Batch-Processing noch gefunden. Ich konnte beide Probleme (mit AVI und Einzelbild-Directory) bei mir reproduzieren und lösen. Der Fehler war entstanden, als ich den neuen Dialog zum Ausblenden einzelner Frames eingeführt hatte. Das ist im Batch-Betrieb zwar nicht aktiv (und deswegen hatte ich das auch nicht getestet), aber der Workflow hat sich geändert, so dass ein Signal ins Leere ging. Ich muss heute Abend eine neue Softwareversion bauen und auf PyPI hochladen. Dann kannst Du sie mit pip (Version 0.8.5) installieren.

Du musst unterscheiden zwischen "Installation mit pip" und dem Repository-Clonen. Bei letzterem holst Du Dir den Source-Code von Github. Die aktuelle Version (0.8.4, jetzt 0.8.5) ist noch nicht auf dem Master-Branch, weil es kein offizielles Release ist. Daher bekommst Du dort immer noch die Version 0.8.0. Auf PyPI, wo pip sich die SW holt, habe ich in den letzten Wochen immer die aktuellen Bug-Fixes (minor updates) aktualisiert. Daher bekommst Du dort die ungeraden Versionsnummern.

Wenn Du das Programm so startest, wie Du es gemacht hast (Interpreter aufrufen auf dem Haupt-Source-File), bekommst Du die "stabile" SW-Version 0.8.0. Wenn Du die aktuelle, mit pip installierte Version starten möchtest, musst Du in der Kommandozeile eingeben: PlanetarySystemStacker. Dazu muss allerdings der Speicherort auf dem Systempfad liegen. Auf meinem Windows-System klappt das automatisch. Wo das Skript "PlanetarySystemStacker" auf Deinem Linux-System liegt, weiß ich auch nicht. Vielleicht suchst Du ja einfach mal danach.

Schöne Grüße
Rolf
 

Rolf_Hempel

Mitglied
Hallo Michael,

ich habe mal auf meiner Ubuntu-Linux-Installation nachgeschaut. Dort habe ich Python 3.8.2, und PSS funktioniert problemlos damit. Ich habe mir nicht das Repository kopiert, sondern PSS einfach mit "pip3 install planetary-system-stacker" installiert. (D.h. pip holt sich die Software und alle benötigten Bibliotheken automatisch vom PyPI-Server.) Danach kann ich PSS von der Kommandozeile aus starten: "PlanetarySystemStacker". Das Skript befindet sich bei Ubuntu 20.04 LTS im Ordner ~/.local/bin:

PSS.PNG


Wenn Du PSS im Kommandozeilenmodus starten möchtest, kannst Du das im Terminal einfach tun, indem Du dieses Skript mit den Kommandozeilenparametern aufrufst.

Die Beschränkung auf Python 3.5 und 3.6 gilt übrigens nur für Windows, weil eine der Bibliotheken (Astropy) auf Windows sonst nicht funktioniert. Auf Linux und MacOS gibt es keine Einschränkung.

Ach ja: Übrigens habe ich PSS 0.8.5 inzwischen auf den PyPI-Server hochgeladen.

Schöne Grüße
Rolf
 

mhs_mhs

Mitglied
Hallo Rolf,

vielen Dank für Deine schnelle Hilfe und die ausführlichen Erläuterungen!

Ich werde dann den Quellcode bei mir löschen und PSS mit pip aktualisieren. Voraussichtlich lasse ich mir etwas Zeit dazu, gebe aber hier Bescheid, wenn's läuft. Ich bleibe voraussichtlich bei Python 3.6(.8).

Nochmals vielen Dank
und viele Grüße
Michael
 

Rolf_Hempel

Mitglied
Hallo Michael,

vielen Dank für die Rückmeldung! Dann bin ich ja beruhigt, dass der Fehler so schnell behoben werden konnte. Das Problem ist einfach, dass ich noch so viele Änderungen am Code vornehme. Dadurch kann es immer mal passieren, dass Dinge nicht mehr gehen, die ich längst abgehakt hatte. Bei den Profis (z. B. in meinem DLR-Institut) löst man dieses Problem mit automatischen Testumgebungen (Regressionstests). Hoffentlich liest hier keiner meiner Mitarbeiter mit ... :)

Schöne Grüße
Rolf
 

mhs_mhs

Mitglied
Hallo Rolf,

wie angekündigt gebe ich noch eine ausführliche Rückmeldung. Mein Betriebssystem ist CentOS 7.

Der Befehl
$ pip3 install --upgrade planetary-system-stacker
läuft bei mir leider auf das Problem der Inkompatibiltät mit dem aktuellen Paket pyqt5 im Repo. Auch das Paket opencv kommt noch hinzu. Ich benutze noch python36, habe noch nicht auf python38 gewechselt. Die Aktualisierung von PSS funktioniert jedoch mit
$ pip3 install planetary-system-stacker==0.8.5 .

PSS hatte gemeldet, dass die mkl lib nicht gefunden wird. Ich habe sie mit
$ pip3 uninstall scipy -y
$ pip3 install intel-scipy
nachträglich eingebunden. Dies hat die Berechnungen bei mir aber leider nicht beschleunigt.

Die Scripte werden bei mir nach /usr/local/bin geschrieben. Leider geht das nur mit Administrator-Rechten, so dass ich diese auch bei der pip-Installation benötige.

Übrigens: --name_add_f und --name_add_apn (p und apb nicht getestet) funktionieren nicht vom Shell-Script aus. Im GUI (0.8.3) ging es schon mal bei mir. Das neue GUI (0.8.5) habe ich nicht mehr getestet.

Ich habe PSS auch in meiner Cloud (CentOS 8) installiert. Dort laufen die Berechnungen mit beliebig viel RAM und Log-Level 4 sechs mal schneller als auf meinem Mini-PC mit 4 GB RAM und Log-Level 1. Die Kerne und weitere VMs, die ich dort zur Verfügung habe, bringen jedoch keine spürbare Beschleunigung. Dafur müsste man die Software parallelisieren.

Zu meinen ersten Stacking-Erfahrungen mache ich einen neuen Thread auf.

Viele Grüße
Michael
 

Rolf_Hempel

Mitglied
Hallo Michael,

vielen Dank für Deine Anmerkungen.

Die Installationsprobleme mit pip verstehe ich nicht ganz. Du schreibst, dass Du Kompatibiltätsprobleme hast, wenn Du "pip install --upgrade" verwendest. Aber wenn Du die spezifische Version "==0.8.5" wählst, geht es. Das finde ich zwar komisch, aber immerhin hast Du dann ja eine lauffähige aktuelle Version.

Übrigens habe ich gerade eine neue Version (0.8.8) auf PyPI hochgeladen. In dieser neuen Version habe ich insbesondere den Fehler im Kommandozeilenmodus (mit --name_add_f und --name_add_apn) behoben. Tatsächlich scheinst Du der erste Nutzer zu sein, der diesen Modus ausprobiert. Daher die vielen verbliebenen Fehler. Jetzt funktioniert es mit allen vier Optionen für Filenamen-Ergänzungen.

Das Problem mit der "mkl"-Bibliothek ist bekannt und schon oft diskutiert worden. Tatsächlich ist es aussichtslos, hier eine portable Lösung anzubieten. Jede OS-Version speichert die Bibliothek (unter verschiedenen Namen) an unterschiedlichen Stellen. Aber selbst wenn die richtige Bibliothek gefunden wird, bringt sie kaum eine Beschleunigung. Daher würde ich diese Warnung einfach ignorieren.

Auch die begrenzte Unterstützung von paralleler Hardware ist bekannt. Python selbst läuft ja erstmal single-threaded. Allerdings läuft der Code ja zu mindestens 98% der Zeit in C++-Bibliotheken, zumeist aus OpenCV. Die sind eigentlich parallelisiert, und teilweise bringt das auch etwas. Für eine richtig gute Nutzung von Mehrkernprozessoren müsste man die Berechnungsroutinen aber selbst in C++ umschreiben. Dazu fehlt mir im Moment einfach die Zeit.

Für eine Parallelisierung über mehrere VMs in der Cloud allerdings bräuchte man eine Distributed-Memory-Parallelisierung, die ich für PSS nicht für sinnvoll halte. Wenn Du mehrere VMs hast, könntest Du eher in jeder VM PSS auf unterschiedlichen Daten unabhängig voneinander ausführen.

Schöne Grüße
Rolf
 

mhs_mhs

Mitglied
Hallo Rolf,

mit --upgrade versucht "pip install PSS" offensichtlich, alle Pakete zu aktualisieren, darunter auch pyqt5. Dessen neueste Version (5.15) ist aber mit einem anderen Paket (ich kann jetzt nicht sagen welches) nicht kompatibel. Deshalb muss vor "pip install PSS" pyqt==5.14 installiert werden, dann läuft "pip install PSS" durch. Wenn ich dagegen PSS==0.8.5 installiere, wird nur PSS aktualisiert - in meinem Fall ist die Version 0.8.3 ja schon da - nicht aber die anderen Pakete, die schon installiert sind.

Jetzt aber meine neue Nachricht: Ich habe mich entschieden, das Stacking vorerst nicht mehr weiter zu verfolgen. Grund dafür ist nicht PSS, das ich schätzen gelernt habe, sondern meine einfache Ausrüstung. Ich hatte gedacht, ich könnte mit meinem Teleskop, das keine Nachführung besitzt, Aufnahmen machen, die ich mit Stacking nachbearbeite.

Ich sehe jedoch auf meinen gestackten Bildern vom Mond rechts (wo PSS die Frames stabilisiert) Schärfe und links Unschärfe. Dies führe ich auf mein 8mm-WW-Objektiv zurück, das offenbar eine Art Gummilinsen-Effekt zeigt. Der Mond wird im Video beim Wandern durch das Bild offenbar unterschiedlich gestaucht.

Ein richtiger Astronom hätte dies wohl sofort gewusst. Der bin ich nun aber nicht.

Deshalb werde ich nun auch keinen neuen Thread mehr aufmachen.:)

Trotzdem vielen Dank nochmal für Deine großartige Hilfe und für den bugfix auf 0.8.8. .

Viele Grüße
Michael
 

Rolf_Hempel

Mitglied
Hallo Michael,

vielen Dank für Deine Rückmeldung!

Schade, dass Deine Ausrüstung keine guten Stackingergebnisse zulässt. Aber vielleicht kommst Du ja irgendwann auf das Thema zurück, wenn Du ein geeignetes Teleskop hast.

Auf jeden Fall danke ich Dir für Deine Fehlermeldungen zum Kommandozeilenmodus. Da bisher offenbar niemand sonst diese Möglichkeit genutzt hat, wären mir diese Fehler sonst wohl noch eine Weile verborgen geblieben.

Schöne Grüße
Rolf
 

Nebelhorn

Mitglied
Hallo,

ich möchte diesen Thread kurz kapern und mitteilen, dass ich die Software PSS sehr gut finde! Ich nutze sie unter Debian Buster. Mit Python und pip kenne ich mich leider nicht aus, weshalb ich anfangs Probleme hatte, PSS zu installieren. Schlussendlich gelang mir die Installation mit dem Befehl "python3 -m pip install pyqt5==5.15". Vielleicht hat ja jemand unter Debian Buster auch Installationsprobleme und der Befehl ist ev. hilfreich.

Viele Grüße
Jörg
 

Rolf_Hempel

Mitglied
Hallo Jörg,

vielen Dank für die positive Rückmeldung und den Tipp zu Debian Buster. Es freut mich, dass Du die Installation mit pip hinbekommen hast, auch wenn Du Dich nicht mit Python auskennst. Ich wünsche Dir viel Erfolg mit PSS! Vielleicht zeigst Du uns ja irgendwann mal Deine Ergebnisse hier im Forum. Oder gleich auf dieser Seite. :)

Schöne Grüße
Rolf
 
Oben