piv_synth_sequence — PIV synth op

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

• Call: import fullseye as fs; fs.ledger.piv_synth_sequence(shape, displacement, n_frames=8, density=0.02, diameter_px=2.5, seed=0, noise_sigma=0.0, intensity=(0.6, 1.0), background=0.0, jitter=0.0) (implementation को सीधे call करना हो तो import pivops; pivops.piv_synth_sequence(shape, displacement, n_frames=8, density=0.02, diameter_px=2.5, seed=0, noise_sigma=0.0, intensity=(0.6, 1.0), background=0.0, jitter=0.0), registry से लेना हो तो opspiv.get("piv_synth_sequence"))

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

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

उपयोग

उन्हीं particle को बार-बार खिसकाकर बना image क्रम। (frames, truth) लौटाता है।

जहाँ piv_synth_pair 2 images बनाता है, वहीं यह एक ऐसा sequence बनाता है जो 1 flow का लगातार पीछा करता है। Ensemble correlation और temporal statistics केवल इसी से जाँचे जा सकते हैं —— स्वतंत्र pairs के समूह को sequence कहने पर 2 पड़ोसी images के बीच कोई correspondence नहीं बचता, और statistics अर्थहीन हो जाते हैं (measured: 0.73 px के mean के मुकाबले fluctuation RMS 4.05 px था, एक ऐसी संख्या जिसने flow की बजाय बनावट को मापा)।

Args:

shape: (H, W)।

displacement: प्रति 1 frame displacement (piv_synth_pair जैसा format)।

n_frames: frames की संख्या (2 या ज़्यादा)।

jitter: हर frame पर पूरे field में जोड़े गए disturbance का standard deviation [px]। 0 का अर्थ steady flow।

Temporal statistics (fluctuations, Reynolds stresses) test करने के लिए इसे 0 से बड़ा रखें।

★ यह हर frame पर एक disturbance है, हर particle पर स्वतंत्र disturbance नहीं।

इसे हर particle पर बदलने से window के अंदर इसका औसत हो जाता है, जो इसे N के वर्गमूल से छोटा कर देता है,

और डाले गए और मापे गए मान मेल नहीं खाते (measured: डाले गए 0.3 के मुकाबले 0.15)।

यह PIV का गुण है, त्रुटि नहीं, लेकिन यह temporal statistics जाँचने के लिए बेकार है, इसलिए यहाँ यह खुद एक unsteady flow की नकल करता है।

density / diameter_px / seed / noise_sigma / intensity / background:

piv_synth_pair के समान।

Returns:

(frames: list of (H, W), truth: (2, H, W))। truth प्रति 1 frame

mean displacement है।

उपयोग की विस्तृत guide

• piv_displacement family guide

संदर्भ (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 करते हैं)

• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py

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

piv_ensemble_correlate · piv_time_statistics

इसी category के (synth)

piv_synth_particles · piv_synth_pair


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

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