lucky_select — ASTROSTACK 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 만 취합니다 —— 럭키 이미징의 선별.

채택 장수는 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*이 장수를 넘는 경우.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• astro_stacking — py -3.11 examples/astro_stacking.py

• poc_astro_photometry — py -3.11 examples/poc_astro_photometry.py

타입이 이어지는 다음 연산자(indices 를 입력으로 받는 것)

—

같은 카테고리(quality)

frame_quality · noise_sigma


*Provenance: astrostack.py — ASTROSTACK 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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