swarm_field_from_piv — DRIVE 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, साहित्य)

• 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 करते हैं)

• poc_swarm_obstacle_from_flow — py -3.11 examples/poc_swarm_obstacle_from_flow.py

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

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (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.