cosmic opimage2d → image2dimport fullseye as fs; fs.ledger.cosmic_ray_reject(frame, sigma=5.0, f_lim=2.0, replace_box=5, iters=1) (実装を直接呼ぶなら import astrostack; astrostack.cosmic_ray_reject(frame, sigma=5.0, f_lim=2.0, replace_box=5, iters=1)、台帳から引くなら opsastrostack.get("cosmic_ray_reject"))fullseye.ledger.cosmic_ray_reject(...) は宣言 out 型 image2d の値だけを返す(本体は補助情報も返す)。捨てられた側が要るときは fullseye.ledger.cosmic_ray_reject.raw(...)、または astrostack.cosmic_ray_reject を直接呼ぶ。
(cleaned, mask) -> image2d単一フレームの宇宙線除去(ラプラシアン鋭度)。
van Dokkum, Cosmic-Ray Rejection by Laplacian Edge Detection, PASP 113, 1420 (2001) の考え方 —— 宇宙線は星より鋭い。星は PSF で ぼけているので必ず数画素にまたがるが、宇宙線は光学系を通っていないので 1〜数画素で立ち上がる。そこで
L の正の成分を雑音で規格化した有意度
S = L / (2 sigma_noise) を作り、F = median3 - median7(median3) と比べて L / F が
f_lim を超えるものだけを宇宙線とする。2 番目の条件が無いと星の中心が必ず宇宙線に見える(星も局所的には
尖っている)。f_lim はその境目で、原論文の推奨は 2.0。
iters を増やすと、除去 → 再測定を繰り返す(大きなヒットの裾が残るとき)。
置換は replace_box の窓での非汚染画素の中央値。
Returns (cleaned, mask):
cleaned —— (H, W) float64、宇宙線画素を置換した像。mask —— (H, W) bool、True = 宇宙線と判定した画素。Raises ValueError: 2-D でない / 非有限を含む / sigma が非正 /
f_lim が非正 / replace_box が 3 未満または偶数の場合。
py -3.11 examples/astro_stacking.pyimage2d を入力に取れる)frame_quality · noise_sigma · star_detect · psf_fit · aperture_photometry · frame_align
cosmic)Provenance: astrostack.py — ASTROSTACK operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.