# Solve-Field-GUI Grafische Windows-Oberfläche für `solve-field` aus Astrometry.net mit Ausführung auf einem Linux-Server per SSH. Die Software richtet sich an Anwender, die Astrometrie komfortabel über eine GUI steuern möchten, ohne die `solve-field`-Befehle jedes Mal von Hand zusammenzubauen. ## Was die Software macht Die Anwendung läuft lokal unter Windows und verbindet sich per SSH mit einem entfernten Linux-Server. Dort kann sie: - Bilddateien auf den Server hochladen - `solve-field` mit vielen Parametern starten - die Ausgabe live im Log anzeigen - Ergebnisdateien im Remote-Verzeichnis anzeigen - einzelne oder mehrere Ergebnisdateien wieder lokal herunterladen - Serverfunktionen wie SExtractor-Prüfung und Diagnose ausführen ## Hauptfunktionen - SSH-Verbindung zu einem Linux-Server mit Benutzername, Passwort und Port - Upload lokaler Bilddateien per SFTP - grafische Konfiguration fast aller wichtigen `solve-field`-Parameter - automatische Befehlsvorschau des erzeugten `solve-field`-Aufrufs - Unterstützung für Maßstab, RA/Dek, Suchradius, Downsampling, CPU-Limit, Tweak-Order und viele weitere Optionen - Unterstützung für Source Extractor per `--use-source-extractor` - automatische Berechnung von `--plot-scale` aus der lokalen Bildgröße - serverseitige Diagnose für `solve-field`, `astrometry.cfg`, Indexdateien, SExtractor und Speicherplatz - Remote-Ergebnis-Tab mit Dateiliste - Mehrfachdownload ausgewählter Ergebnisdateien - Profilspeicherung und Profilladen für komplette GUI-Einstellungen ## Unterstützte Dateitypen Als Eingabedatei lokal: - FITS - FIT - FTS - JPG / JPEG - PNG - TIFF / TIF Für die automatische Plot-Skalierung kann die Anwendung Bildgrößen direkt aus mehreren Formaten lesen, darunter FITS, PNG, JPG, GIF und BMP. ## Voraussetzungen ## Lokal unter Windows - Python 3 - `asyncssh` - Netzwerkzugriff auf den Linux-Server per SSH Installation von `asyncssh`: ```bash pip install asyncssh ``` ## Auf dem Linux-Server - Astrometry.net mit `solve-field` - passende Indexdateien - SSH-Zugang Optional: - `source-extractor`, wenn SExtractor zur Quellenerkennung genutzt werden soll ## Starten Direkt mit Python: ```bash python astrometry_gui.py ``` Oder unter Windows über: ```bash astrometry_gui.bat ``` ## Bedienung ## 1. SSH eintragen Oben in der GUI: - Host - Port - Benutzer - Passwort Mit `Verbinden & testen` kann geprüft werden, ob der Server erreichbar ist und `solve-field` vorhanden ist. ## 2. Bild auswählen und hochladen Im Tab `Input / Output`: - lokale Datei auswählen - Remote-Verzeichnis festlegen - Datei per `Hochladen` auf den Server übertragen Nach dem Upload wird der Remote-Dateipfad automatisch als Eingabedatei gesetzt. ## 3. Solver-Parameter einstellen Je nach Bedarf können unter anderem gesetzt werden: - Maßstabsbereich - RA / Dek / Radius - CPU-Limit - Downsampling - Plot-Skalierung - Tweak-Order - Verifikation - Invertierung - SExtractor-Nutzung ## 4. Befehl prüfen und starten Im Tab `Befehlsvorschau` sieht man den tatsächlich erzeugten `solve-field`-Befehl. Mit `solve-field starten` wird der Befehl auf dem Server ausgeführt. ## Tabs im Überblick ## Input / Output - lokale Bilddatei - Remote-Verzeichnis - Upload - Eingabedatei auf dem Server - Ausgabeoptionen wie `--wcs`, `--corr`, `--rdls`, `--match`, `--new-fits` ## Maßstab & Position - `--scale-low` - `--scale-high` - `--scale` - `--scale-err` - `--ra` - `--dec` - `--radius` ## Solver-Parameter - `--depth` - `--cpulimit` - `--plot-scale` - `--downsample` - `--tweak-order` - `--odds-*` - `--objs` - `--pixel-error` - zahlreiche Flags wie `--no-plots`, `--invert`, `--no-verify` Zusätzlich gibt es einen Plot-Helfer: - automatische Berechnung von `plot-scale` - Zielkantenlänge einstellbar ## Erweitert - manuelle Indexdateien - zusätzliche freie Kommandozeilenargumente ## Befehlsvorschau - zeigt den generierten Befehl - kann aktualisiert werden - kann in die Zwischenablage kopiert werden ## Server Setup - SExtractor prüfen - SExtractor installieren - Server-Diagnose ausführen ## Remote-Ergebnisse - zeigt Dateien im aktuellen Remote-Verzeichnis - lädt den Inhalt beim Öffnen des Tabs automatisch neu - erlaubt Auswahl und Download von einer oder mehreren Dateien ## Remote-Ergebnisse herunterladen Im Tab `Remote-Ergebnisse`: - eine oder mehrere Dateien markieren - `Herunterladen` klicken - Zielordner auswählen Standardmäßig wird als Zielordner der Ordner der ursprünglich lokal ausgewählten Bilddatei vorgeschlagen. ## Remote-Verzeichnis leeren Im Tab `Input / Output` gibt es die Funktion: - `Remote-Inhalt löschen` Dabei wird nur der Inhalt des Remote-Verzeichnisses gelöscht, nicht das Verzeichnis selbst. ## Profile speichern und laden Über die Menühleiste: - `Profil -> Profil speichern…` - `Profil -> Profil laden…` Gespeichert werden: - SSH-Daten - Solver-Parameter - Ein-/Ausgabe-Einstellungen - Zusatzargumente - Indexliste Das Passwort wird nicht im Klartext gespeichert, sondern mit einer einfachen internen Verschlüsselung abgelegt. ## Typischer Workflow 1. Serververbindung eintragen 2. Lokales Bild auswählen 3. Datei hochladen 4. Maßstab und Solver-Parameter setzen 5. Optional SExtractor aktivieren 6. `solve-field` starten 7. Ergebnisse im Tab `Remote-Ergebnisse` prüfen 8. Gewünschte Dateien lokal herunterladen ## Hinweise - Die GUI baut nur den Befehl und führt ihn per SSH aus. Die eigentliche Astrometrie läuft vollständig auf dem Server. - Die installierte Astrometry-Version auf dem Server bestimmt, welche Optionen tatsächlich verfügbar sind. - Für SExtractor muss auf dem Server in der Regel `source-extractor` installiert sein. - Für gute Ergebnisse müssen die passenden Indexdateien serverseitig vorhanden und in `astrometry.cfg` korrekt eingebunden sein. ## Dateien im Projekt - [astrometry_gui.py](C:/Users/ich/source/repos/Solve-Field-GUI/astrometry_gui.py) - [astrometry_gui.bat](C:/Users/ich/source/repos/Solve-Field-GUI/astrometry_gui.bat) ## Lizenz / Nutzung Dieses Repository enthält eine GUI zur Bedienung von Astrometry.net. Die Lizenz und Bedingungen von Astrometry.net sowie von eventuell installierten Serverpaketen gelten zusätzlich zu diesem Projekt.