synth_frame_series — ASTROSTACK synth op

• Data kinds: कोई नहीं → images (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.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) (implementation को सीधे 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), registry से लेना हो तो opsastrostack.get("synth_frame_series"))

• Ledger के ज़रिए return value: fullseye.ledger.synth_frame_series(...) केवल घोषित out type images का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.synth_frame_series.raw(...) का उपयोग करें, या astrostack.synth_frame_series को सीधे call करें।

• मूल function का return: (frames, truth) -> images

उपयोग

उसी star field को n_frames बार दोबारा लेता है, हर बार अलग noise और अलग dither के साथ।

तारों के coordinates और fluxes हर frame में समान हैं (तारों के चयन को दोहराने के लिए field_seed स्थिर रखा जाता है, और केवल per-observation seed तथा shift_row / shift_col बदले जाते हैं), इसलिए उत्तरों का 1 set registration, stacking और drizzle के लिए काम करता है। *fwhm_jitter* देने से FWHM हर frame में ऊपर-नीचे होता है —— यह lucky imaging की "seeing ऊपर-नीचे होती है" वाली शर्त है; 0 पर छोड़ने पर, lucky_select के पास कुछ भी चुनने का कोई कारण नहीं रहता।

dither त्रिज्या (radius) dither_px वाला एक deterministic spiral है (frame i को golden-angle दिशा में त्रिज्या dither_px * (i / (n-1)) पर रखा जाता है)। यह random नहीं है, इसलिए frames की संख्या बदलने पर भी व्यवस्था स्थिर रहती है, और figures दोहराए जा सकते हैं।

(frames, truth) लौटाता है:

• frames —— लंबाई n_frames की list, हर element (H, W) float64। यह ठीक images vocabulary है, इसलिए इसे सीधे stacking ops को दिया जा सकता है।

• truth —— synth_starfield का truth और साथ में shifts (N, 2) (हर frame का (dr, dc)) तथा fwhms (N,)। rows / cols dithering से पहले के हैं (frame 0 में स्थितियाँ)।

Raises ValueError: synth_starfield की शर्तों के अतिरिक्त, जब *n_frames* 1 से कम हो, *dither_px* ऋणात्मक हो, या *fwhm_jitter* ऋणात्मक हो।

संदर्भ (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

• poc_astro_photometry — py -3.11 examples/poc_astro_photometry.py

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

lucky_select · sigma_clip_stack · drizzle_resample · cosmic_ray_reject_stack · align_frames

इसी category के (synth)

synth_starfield


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