249 lines
6.1 KiB
Markdown
249 lines
6.1 KiB
Markdown
# 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.
|