synth_frame_series — ASTROSTACK synth op

Data kinds: noneimages (an op determined by its arguments alone — it takes no image or data input)

Call: import astrostack; astrostack.synth_frame_series(shape=(128, 128), n_frames=8, dither_px=1.5, fwhm_px=3.2, fwhm_jitter=0.0, n_cosmic=0, seed=0, **starfield_kw) (or opsastrostack.get("synth_frame_series"))

Usage

Re-shoot the same star field `n_frames` times, each with its own noise and its own dither.

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

星の座標・フラックスは全フレームで同じ(`field_seed` を固定して星の抽選を

再現し、観測ごとの `seedshift_row / shift_col` だけを振る)ので、

位置合わせ・合成・drizzle の正解が 1 組で済む。*fwhm_jitter* を与えると FWHM がフレームごとに揺れる

—— これが lucky imaging の「シーイングが揺らぐ」条件で、0 のままだと

:func:lucky_select が選ぶ理由が無くなる。

ディザは `dither_px を半径とする決定的な螺旋(i` 番目のフレームを

`dither_px * (i / (n-1))` の半径・黄金角の方向へ置く)。乱数でないので

フレーム数を変えても並びが安定し、図が再現する。

Returns `(frames, truth)`:

• `frames —— 長さ n_frames の list、各要素は (H, W)` float64。

**`images` 語彙そのもの**なので、合成 op へそのまま渡せる。

• `truth —— :func:synth_starfield の truth に、shifts (N, 2)`

(各フレームの `(dr, dc))と fwhms (N,)` を足したもの。

`rows / cols` はディザ前(フレーム 0 の位置)。

Raises `ValueError: :func:synth_starfield` の条件に加えて、

*n_frames* が 1 未満、*dither_px* が負、*fwhm_jitter* が負の場合。

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 images as input)

lucky_select · sigma_clip_stack · drizzle_resample · cosmic_ray_reject_stack · align_frames

Same category (synth)

synth_starfield


*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.