quality op• 데이터 종류: image2d → table
• 호출: import fullseye as fs; fs.ledger.frame_quality(image, threshold_sigma=5.0, max_stars=25, min_separation=3, psf_box=11, n_score_stars=5)(구현을 직접 호출하려면 import astrostack; astrostack.frame_quality(image, threshold_sigma=5.0, max_stars=25, min_separation=3, psf_box=11, n_score_stars=5), 원장에서 가져오려면 opsastrostack.get("frame_quality"))
프레임 한 장의 품질을 셉니다 —— 첨예도·FWHM·배경·진원도, 그리고 선별용 점수.
lucky imaging의 선별 기준은 역사적으로 "기준성의 피크 강도"이다(Law, Mackay & Baldwin, *Lucky imaging: high angular resolution imaging in the visible from the ground*, A&A 446, 739 (2006)) —— 대기가 좋은 순간일수록같은 총 플럭스가 적은 화소에 모이므로, 피크 / 총 플럭스가올라간다. 여기서도 그것을 채택하고, 추적의 늘어짐을 튕기기 위해 진원도를 곱한다::
score = median(roundness) * median(peak_fraction)
peak_fraction은 밝은 쪽부터 n_score_stars개의 별에 대해 (피크 화소 - 배경) / 개구 플럭스. 척도에 의존하지 않으므로(노출 시간이나게인을 바꿔도 움직이지 않는다), 프레임 간 비교에 그대로 쓸 수 있다.
sharpness는 별도로, 라플라시안의 분산을 화상의 분산으로 나눈 고전적인합초 지표(Pech-Pacheco et al., *Diatom autofocusing in brightfield microscopy*, ICPR 2000). 별의 수가 바뀌면 움직이므로 선별에는 쓰지 않지만, 별이 하나도 없는 프레임에서도 값이 나오는 유일한 지표이므로 남겨 두었다.
Returns dict(table 어휘). 키는 n_stars / background / noise_sigma / fwhm_px(검출 별의 FWHM 중앙값) / roundness / peak_fraction / peak_snr / sharpness / score / total_flux. 별이 하나도 없을 때는 별 유래의 값이 nan, score는 0.0("고르지 않는다"가 올바른 답이므로, nan으로 정렬을 망가뜨리지 않는다).
Raises ValueError: 2-D가 아니다 / 비유한을 포함한다 / *n_score_stars*가 1 미만인 경우.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• astro_stacking — py -3.11 examples/astro_stacking.py
table 를 입력으로 받는 것)—
quality)*Provenance: astrostack.py — ASTROSTACK 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.