cosmic_ray_reject — ASTROSTACK cosmic op

• Datenarten: image2d → image2d

• Aufruf: import fullseye as fs; fs.ledger.cosmic_ray_reject(frame, sigma=5.0, f_lim=2.0, replace_box=5, iters=1) (die Implementierung direkt: import astrostack; astrostack.cosmic_ray_reject(frame, sigma=5.0, f_lim=2.0, replace_box=5, iters=1); aus dem Register: opsastrostack.get("cosmic_ray_reject"))

• Rückgabewert über das Register: fullseye.ledger.cosmic_ray_reject(...) liefert nur den Wert des deklarierten Out-Typs image2d (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.cosmic_ray_reject.raw(...) oder rufe astrostack.cosmic_ray_reject direkt auf.

• Rückgabe der Funktion: (cleaned, mask) -> image2d

Verwendung

Entfernung kosmischer Strahlen aus einem Einzelbild (Laplace-Schärfe).

van Dokkum, *Cosmic-Ray Rejection by Laplacian Edge Detection*, PASP 113, 1420 (2001), die Idee —— kosmische Strahlung ist schärfer als Sterne. Sterne sind durch die PSF verschmiert und erstrecken sich daher stets über mehrere Pixel, Treffer kosmischer Strahlung dagegen durchlaufen die Optik nicht und steigen innerhalb von 1 bis wenigen Pixeln an. Deshalb

1. wird die Signifikanz S = L / (2 sigma_noise) gebildet, der positive Anteil des Laplace-Operators L normiert auf das Rauschen, und

2. mit dem Feinstrukturbild F = median3 - median7(median3) verglichen; nur wo L / F f_lim übersteigt, gilt es als kosmische Strahlung.

Ohne die 2. Bedingung sieht das Zentrum eines Sterns stets wie kosmische Strahlung aus (auch Sterne sind lokal spitz). f_lim ist diese Grenze; das Originalpaper empfiehlt 2.0.

Ein größeres iters wiederholt Entfernen → Neumessen (wenn die Flügel großer Treffer übrig bleiben). Ersetzt wird durch den Median der nicht kontaminierten Pixel im Fenster replace_box.

Returns (cleaned, mask):

• cleaned —— (H, W) float64, Bild mit ersetzten Pixeln kosmischer Strahlung.

• mask —— (H, W) bool, True = als kosmische Strahlung beurteiltes Pixel.

Raises ValueError: wenn nicht 2-D / nicht-endliche Werte enthalten / *sigma* nicht positiv / *f_lim* nicht positiv / *replace_box* kleiner als 3 oder gerade ist.

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• astro_stacking — py -3.11 examples/astro_stacking.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

frame_quality · noise_sigma · star_detect · psf_fit · aperture_photometry · frame_align

Gleiche Kategorie (cosmic)

cosmic_ray_reject_stack


*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.