Focuser
Aufgabe
Das Focuser-Modul übernimmt die automatische Fokussierung des Teleskops. Es bewegt den motorisierten Fokussierer über einen Positionsbereich, misst an jedem Punkt die Sterngröße (HFR — Half Flux Radius) und berechnet dann die optimale Position durch eine Polynomanpassung 2. Grades. Bei aktiviertem Zoning erzeugt es zusätzlich eine Kartierung des Sensor-Tilts.
Oberfläche
Die Oberfläche zeigt in Echtzeit die im Aufbau befindliche HFR-Kurve, den Fortschritt der Sequenz und die Ergebnisse (endgültige HFR und Position). Die Parameter sind über die Schaltfläche Parameter oben rechts erreichbar.
Die HFR-Kurve wird mit Fehlerbalken gezeichnet, die die Standardabweichung der Messungen an jeder Position darstellen, und eine Polynomanpassung erscheint als gestrichelte orange Linie, während die Aufnahmen fortschreiten.
Benötigte Geräte
| Gerät | Rolle |
|---|---|
| Kamera | Aufnahme der Bilder für die HFR-Messung |
| Motorisierter Fokussierer | Bewegung des Fokus |
| Filterrad | Optional — verwendet, falls konfiguriert |
Parameter
Diese Parameter sind über das Menü Parameter des Moduls erreichbar. Ein Parametersatz kann in einem Profil gespeichert werden.
Belichtung
| Parameter | Beschreibung |
|---|---|
| Belichtung | Belichtungsdauer in Sekunden |
| Gain | Gain der Kamera |
| Offset | Offset der Kamera |
Fokus
| Parameter | Beschreibung |
|---|---|
| Startposition | Absolute Position des Fokussierers zu Beginn der Sequenz (wird ignoriert, wenn Um die aktuelle Position aktiviert ist) |
| Um die aktuelle Position | Zentriert die Sequenz automatisch um die aktuelle Position des Fokussierers: aktuelle_pos − (schritt × iterationen / 2) |
| Schritt | Abstand in Fokussierer-Einheiten zwischen zwei aufeinanderfolgenden Messungen |
| Iterationen | Anzahl der Messpunkte. Mit 5 Iterationen und einem Schritt von 2000 durchläuft der Fokussierer einen Bereich von 8000 Einheiten |
| Backlash | Überschuss, der vor jeder Bewegung angewendet wird, um das mechanische Spiel zu korrigieren. Der Fokussierer fährt um diesen Wert zurück, bevor er sich auf das Ziel zu bewegt |
| Zoning | Aufteilung des Bilds in Zonen (1×1 bis 9×9). Siehe eigener Abschnitt unten |
Sternerkennung
Die HFR-Messung basiert auf StellarSolver (SEP-Quellenextraktion), mit einer Einstellung, die so gewählt ist, dass sie über den gesamten von der Fokussierung durchlaufenen Bereich funktioniert — von der scharfen Fokusposition bis zu den am Sequenzanfang/-ende bewusst defokussierten Extremen.
| Parameter | Standard | Beschreibung |
|---|---|---|
| Erkennungsschwelle (σ) | 4 | Erkennungsschwelle, als Vielfaches des Hintergrundrauschens. Eine Erhöhung reduziert Falschmeldungen (Sensorrauschen, das als Stern erkannt wird) |
| Min. Erkennungsfläche (px) | 20 | Minimale Fläche in Pixeln, damit eine Erkennung berücksichtigt wird — eliminiert kleine Rauschartefakte |
| Trennkontrast (%) | 5 % | Minimaler Fluss, den ein sekundärer Peak darstellen muss (in % des Gesamtflusses), bevor SEP ihn als eigenständiges Objekt abtrennt. Ein defokussierter Stern (unregelmäßiger Ring, Schatten des Sekundärspiegels) wird sonst leicht in mehrere „Sterne“ aufgespalten — erhöhen, um dies zu vermeiden |
| Min. Sternradius (px) | 5 | Verwirft Erkennungen, die kleiner als dieser Radius sind — filtert verbleibende Fragmente einer Übersegmentierung |
Wenn die gemeldete Sternzahl deutlich höher erscheint als das, was auf dem Bild mit dem Auge erkennbar ist, oder an den defokussierten Enden der Sequenz deutlich ansteigt, ist das ein Hinweis darauf, dass diese Einstellungen für den verwendeten Sensor/die verwendete Optik zu permissiv sind — die Erkennungsschwelle und/oder den Trennkontrast oben erhöhen.
Algorithmus
Die Fokussierung läuft in zwei Phasen ab.
Phase 1 — Erkundung
- Der Fokussierer positioniert sich auf
startposition − backlash(Berücksichtigung des mechanischen Spiels) - Er fährt vor zur
startposition - Für jede Iteration:
- Zurücksetzen des Kamera-Subframes
- Aufnahme eines Bilds, Berechnung der HFR und ihrer Standardabweichung
- Aufzeichnung des Tripels (Position, HFR, Standardabweichung)
- Fortlaufende Aktualisierung der Polynomanpassung
- Vorrücken um einen Schritt
Die Polynomanpassung 2. Grades liefert kontinuierlich die Position des Minimums der HFR-Kurve:
optimale_position = −k1 / (2 × k2) [für k0 + k1·x + k2·x²]Phase 2 — Endpositionierung
- Der Fokussierer fährt zurück zu
beste_position − backlash - Er fährt vor zur vom Polynom berechneten optimalen Position
- Ein letztes Bild wird aufgenommen, um die resultierende HFR zu messen
Die verwendete optimale Position ist die des Polynom-Fits (bestposfit). Konnte der Fit nicht berechnet werden (weniger als 3 Punkte), wird die direkt gemessene beste Position (bestpos) verwendet.
HFR-Kurve
Die HFR-Kurve wird während der Erkundung in Echtzeit gezeichnet und bei jedem Messpunkt aktualisiert. Sie besteht aus zwei überlagerten Elementen:
- Gemessene Punkte (grün) mit Fehlerbalken, die ±1 Standardabweichung der Messungen an jeder Position darstellen
- Polynomkurve (gestrichelt orange) — Anpassung 2. Grades, bei jedem neuen Punkt aktualisiert
Die X-Achse zeigt die absolute Position des Fokussierers, die Y-Achse die HFR in Pixeln.
Die angezeigte Standardabweichung entspricht der Streuung der einzelnen, pro Stern gemessenen HFR-Werte an derselben Fokusposition. Ein breiter Fehlerbalken deutet auf ein variables Seeing oder eine starke Turbulenz zum Aufnahmezeitpunkt hin.
Zoning
Zoning unterteilt das Bild in ein Raster von N×N Zonen und berechnet für jede Zone eine unabhängige Polynomanpassung. Es ermöglicht sowohl eine feine Analyse der HFR-Variationen über das Feld als auch eine Kartierung des Sensor-Tilts.
| Wert | Raster | Verwendung |
|---|---|---|
| 1 | 1×1 | Kein Zoning — eine einzige globale Messung |
| 2 | 2×2 | Grundlegende Tilt-Erkennung (4 Quadranten) |
| 3 | 3×3 | Gängige Analyse — Mitte + Rand + Ecken |
| 5 | 5×5 | Feine Analyse |
| 9 | 9×9 | Sehr feine Analyse — 81 Zonen |
Für jede Zone berechnet das Modul über den Welford-Algorithmus (inkrementelle Aktualisierung in einem Durchgang):
- Die mittlere HFR der Zone
- Die HFR-Standardabweichung der Zone — Indikator für die lokale optische Qualität
Kartierung des Sensor-Tilts
Wenn Zoning aktiviert ist (≥ 2×2), erzeugt das Modul am Ende der Sequenz automatisch vier Kartierungsbilder. Jedes zeigt die optimale Fokusposition jeder Zone, farbkodiert (blau = niedrige Position / nahe Ebene, rot = hohe Position / entfernte Ebene).
Das Breite-Höhe-Verhältnis der Bilder entspricht dem des Sensors.
rawTilt — Roher Tilt pro Zone
Jede Zone wird durch einen einheitlichen Farbblock proportional zur besten Fokusposition dargestellt. Keine Interpolation — die räumliche Auflösung entspricht der des Zoning-Rasters.
localTiltLinear — Lokale bilineare Interpolation
Bilineare Interpolation zwischen den Zentren benachbarter Zonen. Erzeugt eine glatte Karte ohne Annahme über die globale Form der Fokusebene.
globalTiltLinear — Globale Ebene (lineare GSL-Anpassung)
Anpassung einer Ebene per Methode der kleinsten Quadrate (GSL-Bibliothek) über alle Zonenpositionen. Ideal, um einen reinen Tilt zu quantifizieren: Neigung des Sensors relativ zur optischen Achse. Das in jeder Zelle angezeigte Residuum (gelb) ist die Abweichung zwischen Messung und angepasster Ebene.
globalTiltQuadratic — Quadratische Fläche (GSL-Anpassung 2. Grades)
Anpassung einer Fläche 2. Grades. Erfasst nicht-ebene Fehler: Feldkrümmung, Sensorbiegung. Die Farbskala deckt das tatsächliche Minimum und Maximum der Fläche ab (Scheitelpunkt eingeschlossen, falls er innerhalb der Sensorgrenzen liegt).
- rawTilt / localTiltLinear: lokale Diagnosen, nützlich, um eine durch einen schlechten Stern verursachte Ausreißerzone zu erkennen.
- globalTiltLinear: direkte Messung des Tilts. Ist der Gradient gleichmäßig, reicht ein Neigen des Sensors in die angezeigte Richtung zur Korrektur aus.
- globalTiltQuadratic: ist das Residuum der globalen Ebene groß und die quadratische Fläche deutlich besser, sind Feldkrümmung oder eine mechanische Biegung die Ursache.
In Echtzeit angezeigte Werte
| Wert | Beschreibung |
|---|---|
| Status | Aktueller Zustand der Sequenz (Idle / Running / Ok / Error) |
| Fortschritt | Globaler Fortschrittsbalken der Sequenz |
| HFR | An der Endposition gemessene HFR |
| Position | Endposition des Fokussierers |
Endergebnis
Am Ende der Fokussierung veröffentlicht das Modul:
| Ergebnis | Beschreibung |
|---|---|
| Endposition | Absolute Position des Fokussierers nach der Positionierung |
| End-HFR | An der optimalen Position gemessene HFR |
Diese Werte werden über das modulübergreifende Ereignissystem auch an andere Module (Sequencer) weitergegeben.
Aktionen
| Aktion | Beschreibung |
|---|---|
| Fokussierung starten | Startet die vollständige Sequenz |
| Abbrechen | Unterbricht die laufende Sequenz sofort |



