frame_quality — ASTROSTACK quality op

Data kinds: image2dtable

Call: import astrostack; astrostack.frame_quality(image, threshold_sigma=5.0, max_stars=25, min_separation=3, psf_box=11, n_score_stars=5) (or opsastrostack.get("frame_quality"))

Usage

Score one frame — sharpness, FWHM, background, roundness, and a point for selection.

> The detailed description below is the original text — the summary and the headings are translated.

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)。星の数が変わると動くので選別には使わないが、

星が 1 つも無いフレームでも値が出る唯一の指標なので残してある。

Returns dict(`table 語彙)。キーは n_stars / background` /

`noise_sigma / fwhm_px(検出星の FWHM 中央値)/ roundness` /

`peak_fraction / peak_snr / sharpness / score` /

`total_flux。星が 1 つも無いときは星由来の値が nanscore` は

`0.0(「選ばない」が正しい答えなので、nan` で並べ替えを壊さない)。

Raises `ValueError`: 2-D でない / 非有限を含む / *n_score_stars* が

1 未満の場合。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

astro_stackingpy -3.11 examples/astro_stacking.py

Ops the type connects to (they accept table as input)

Same category (quality)

lucky_select · noise_sigma


*Provenance: astrostack.py — ASTROSTACK operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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