quality op• 데이터 종류: images → indices
• 호출: import astrostack; astrostack.lucky_select(frames, keep_fraction=0.3, min_keep=1, **quality_kw)(또는 opsastrostack.get("lucky_select"))
품질 점수 상위 `keep_fraction` 만 취합니다 —— 럭키 이미징의 선별.
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
採用枚数は `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* が枚数を超える場合。
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• astro_stacking — py -3.11 examples/astro_stacking.py
indices 를 입력으로 받는 것)—
quality)*Provenance: astrostack.py — ASTROSTACK 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.