lucky_select — ASTROSTACK quality op

資料種類:imagesindices

呼叫:import astrostack; astrostack.lucky_select(frames, keep_fraction=0.3, min_keep=1, **quality_kw)(或 opsastrostack.get("lucky_select"))

用法

只保留品質分前 `keep_fraction` 的影格 —— lucky imaging 的篩選。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

採用枚数は `max(min_keep, ceil(keep_fraction * N))`。必ず 1 枚は残す

ので、`keep_fraction` をいくら小さくしても空にはならない(空の合成を

後段へ渡す方が事故が大きい)。並べ替えは点の降順で、同点は元の順序を保つ

安定ソート —— 同じ入力なら同じ並びが返る。

Returns `(indices, scores)`:

• `indices —— (K,)` int64、採用フレームの添字を良い順に

(`indices 語彙)。[frames[i] for i in indices]` がそのまま

:func:sigma_clip_stack へ渡せる。

• `scores —— (N,)` float64、全フレームの点(捨てた側も含む)。

捨てた理由を図にできるように、選別の結果ではなく素材を返す。

Ground truth it reproduces(`tests/test_astrostack.py`): 同じ星野を

FWHM だけ変えて撮ったフレーム列では、点は FWHM とともに下がる

96x96 に 20 星、FWHM を 3.462〜6.080 px で振った 12 枚の実測で

`corr(fwhm, score) = -0.925`。上位 25 %(3 枚)を採って平均合成すると、

12 枚全部を平均した場合に比べて合成後の FWHM が 4.403 → 3.672 px、

16.6 % 改善する —— 枚数を 1/4 に減らしたのに像は鋭くなる、というのが

lucky imaging の主張そのもの(その代わり雑音は sqrt(4) = 2 倍になる)。

Raises `ValueError`: *frames* が list / tuple でない(3-D 配列は

明示的に拒否)/ 枚数が 1 未満 / `keep_fraction` が (0, 1] の外 /

*min_keep* が枚数を超える場合。

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南

可執行的範例(實際呼叫該運算子並已驗證的樣例)

astro_stackingpy -3.11 examples/astro_stacking.py

型別可銜接的下一個運算子(可接受 indices 作為輸入)

同類別(quality)

frame_quality · noise_sigma


*Provenance: astrostack.py — ASTROSTACK 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.