swarmflow op• Data kinds: any × scalar × scalar → table
• Call: import fullseye as fs; fs.ledger.swarm_field_from_piv(frames, res: 'float', frame_dt: 'float', center=(0.0, 0.0), window: 'int' = 24, overlap: 'float' = 0.5, min_peak_ratio: 'float' = 1.1, outlier_threshold=3.0) -> 'dict' (implementation को सीधे call करना हो तो import swarmflow; swarmflow.swarm_field_from_piv(frames, res: 'float', frame_dt: 'float', center=(0.0, 0.0), window: 'int' = 24, overlap: 'float' = 0.5, min_peak_ratio: 'float' = 1.1, outlier_threshold=3.0) -> 'dict', registry से लेना हो तो opsdrive.get("swarm_field_from_piv"))
ऊपर से देखे frame का क्रम → पड़ोसी frame के cross-correlation से PIV (pivops.piv_cross_correlate) → सभी जोड़ों का औसत → world का velocity field।
यह व्यक्तियों को एक-एक करके अलग नहीं करता (अतिव्यापन होने पर भी काम करता है), बदले में विंडो (window px) से सूक्ष्म विक्षोभ औसत होकर मिट जाते हैं। जिन विंडो का शिखर अनुपात min_peak_ratio से कम है वे अनुपलब्ध (NaN) माने जाते हैं। ★झुंड जाली की तरह पंक्तिबद्ध होने लगते हैं (धक्का-मुक्की से अंतराल एकसमान होता है), इसलिए सहसंबंध शिखर पड़ोसी जाली स्थितियों पर भी उभरते हैं और शिखर अनुपात 1 के निकट होता है। मापा गया (अंतराल 7.5 px, विंडो 24): देहली 0 पर गलत मिलान वाली विंडो मिल जाती हैं और व्यक्तियों के वेग के सापेक्ष rms U का 13.7 % है, 1.1 पर 1.9 % (85 % विंडो मापी गईं), 1.3 पर मापी गई विंडो घटकर 18 % रह जाती हैं —— डिफ़ॉल्ट 1.1 है। इसके अतिरिक्त, प्रति-युग्म सामान्यीकृत माध्यिका परीक्षण (pivops.piv_outlier_mask, देहली outlier_threshold, None हो तो लागू नहीं) से बाहरी विंडो को अनुपलब्ध चिह्नित करके फिर औसत लिया जाता है। pivops की सावधानी के अनुसार, तीव्र प्रवणता (बाधाओं के कंधे) को बाहरी न कहा जाए इसलिए प्रचलित 2 से ढीला 3 लिया जाता है। pivops के घटक (dy, dx) [px/फ़्रेम] को u = dx·res/Δt, v = −dy·res/Δt में बदला जाता है।
Returns:
वेग-क्षेत्र का dict + valid_fraction (विंडो में से मापी गई का अनुपात), n_pairs।
• 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 में दिए गए हैं।
• poc_swarm_obstacle_from_flow — py -3.11 examples/poc_swarm_obstacle_from_flow.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
swarmflow)sph_kernel · sph_density_pressure · swarm_simulate · swarm_render_overhead · swarm_field_from_tracks · potential_flow_cylinder · velocity_deficit_map · stagnation_from_centerline
*Provenance: swarmflow.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.