synth op• Datenarten: keine → images (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)
• Aufruf: import fullseye as fs; fs.ledger.synth_frame_series(shape=(128, 128), n_frames=8, dither_px=1.5, fwhm_px=3.2, fwhm_jitter=0.0, n_cosmic=0, seed=0, **starfield_kw) (die Implementierung direkt: import astrostack; astrostack.synth_frame_series(shape=(128, 128), n_frames=8, dither_px=1.5, fwhm_px=3.2, fwhm_jitter=0.0, n_cosmic=0, seed=0, **starfield_kw); aus dem Register: opsastrostack.get("synth_frame_series"))
• Rückgabewert über das Register: fullseye.ledger.synth_frame_series(...) liefert nur den Wert des deklarierten Out-Typs images (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.synth_frame_series.raw(...) oder rufe astrostack.synth_frame_series direkt auf.
• Rückgabe der Funktion: (frames, truth) -> images
Nimmt dasselbe Sternfeld n_frames-mal auf, jeweils mit eigenem Rauschen und eigenem Dither.
Sternkoordinaten und -flüsse sind in allen Frames gleich (field_seed wird fixiert, um die Ziehung der Sterne zu reproduzieren, und nur der beobachtungsweise seed sowie shift_row / shift_col werden variiert), daher genügt 1 Satz Lösungen für Registrierung, Stacking und Drizzle. Mit *fwhm_jitter* schwankt die FWHM von Frame zu Frame —— das ist die Bedingung "das Seeing schwankt" des Lucky Imaging; bleibt sie bei 0,
hat lucky_select keinen Grund zur Auswahl.
Das Dithering ist eine deterministische Spirale mit Radius dither_px (Frame i liegt bei Radius dither_px * (i / (n-1)) in Richtung des goldenen Winkels). Da es nicht zufällig ist, bleibt die Anordnung bei geänderter Frame-Anzahl stabil, und die Abbildungen sind reproduzierbar.
Returns (frames, truth):
• frames —— eine list der Länge n_frames, jedes Element (H, W) float64. Es ist genau das images-Vokabular, kann also direkt an die Stacking-ops übergeben werden.
• truth —— das truth von synth_starfield plus shifts (N, 2) (das (dr, dc) jedes Frames) und fwhms (N,). rows / cols sind vor dem Dithering (Positionen in Frame 0).
Raises ValueError: zusätzlich zu den Bedingungen von synth_starfield, wenn *n_frames* kleiner als 1, *dither_px* negativ oder *fwhm_jitter* negativ ist.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• astro_stacking — py -3.11 examples/astro_stacking.py
• poc_astro_photometry — py -3.11 examples/poc_astro_photometry.py
images als Eingabe)lucky_select · sigma_clip_stack · drizzle_resample · cosmic_ray_reject_stack · align_frames
synth)*Provenance: astrostack.py — ASTROSTACK Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.