frame_quality — ASTROSTACK quality op

• Data kinds: image2d → table

• Call: 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) (implementation को सीधे call करना हो तो import astrostack; astrostack.frame_quality(image, threshold_sigma=5.0, max_stars=25, min_separation=3, psf_box=11, n_score_stars=5), registry से लेना हो तो opsastrostack.get("frame_quality"))

उपयोग

1 frame की quality गिनता है — sharpness, FWHM, background, गोलाई, और चयन के लिए score।

ऐतिहासिक रूप से, lucky imaging का चयन मानदंड "एक reference तारे की peak intensity" है (Law, Mackay & Baldwin, *Lucky imaging: high angular resolution imaging in the visible from the ground*, A&A 446, 739 (2006)) —— किसी क्षण वायुमंडल जितना बेहतर होता है, उतना ही समान कुल flux कम pixels में इकट्ठा होता है, इसलिए peak / total flux बढ़ता है। यहाँ भी वही अपनाया गया है, tracking elongation को अस्वीकार करने के लिए roundness से गुणा करके::

score = median(roundness) * median(peak_fraction)

peak_fraction, n_score_stars सबसे चमकीले तारों के लिए, (peak pixel - background) / aperture flux है। यह scale-independent है (exposure time या gain बदलने पर यह नहीं हिलता), इसलिए frames के बीच तुलना के लिए इसे जैसा है वैसा उपयोग किया जा सकता है।

sharpness अलग से classic focus measure है: Laplacian का variance भाग image का variance (Pech-Pacheco et al., *Diatom autofocusing in brightfield microscopy*, ICPR 2000)। तारों की संख्या बदलने पर यह हिलता है, इसलिए यह चयन के लिए उपयोग नहीं होता, लेकिन इसे रखा गया है क्योंकि यही एकमात्र माप है जो बिना किसी तारे वाले frame के लिए भी मान देता है।

dict (table vocabulary) लौटाता है। Keys हैं n_stars / background / noise_sigma / fwhm_px (detect किए गए तारों का median FWHM) / roundness / peak_fraction / peak_snr / sharpness / score / total_flux। जब कोई तारा नहीं होता, तो तारों से निकले मान nan होते हैं और score 0.0 होता है ("न चुनें" सही उत्तर है, इसलिए sorting nan से नहीं टूटती)।

Raises ValueError: 2-D नहीं / non-finite मान हैं / *n_score_stars* 1 से कम।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• astro_stacking — py -3.11 examples/astro_stacking.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

—

इसी category के (quality)

lucky_select · noise_sigma


*Provenance: astrostack.py — ASTROSTACK operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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