quality op• 資料種類:images → indices
• 呼叫: import fullseye as fs; fs.ledger.lucky_select(frames, keep_fraction=0.3, min_keep=1, **quality_kw)(要直接呼叫實作,import astrostack; astrostack.lucky_select(frames, keep_fraction=0.3, min_keep=1, **quality_kw);從台帳取用則 opsastrostack.get("lucky_select"))
• 經台帳呼叫的回傳值: fullseye.ledger.lucky_select(...) 只回傳宣告的 out 型別 indices 的值(底層函式還會回傳輔助資訊)。需要被捨棄的部分時,請用 fullseye.ledger.lucky_select.raw(...),或直接呼叫 astrostack.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] 可以直接
傳給 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_stacking — py -3.11 examples/astro_stacking.py
• poc_astro_photometry — py -3.11 examples/poc_astro_photometry.py
indices 作為輸入)—
quality)*Provenance: astrostack.py — ASTROSTACK 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.