scoop op• Data kinds: any × scalar × scalar → table
• Call: import fullseye as fs; fs.ledger.stream_flux_read(frames, dt: 'float', radius_px: 'float', *, band_rows=None, band_px: 'int' = 9, window: 'int' = 32, particle_mass: 'float | None' = None, c_max: 'float' = 0.95, min_valid: 'float' = 0.3, min_crossings: 'float' = 30.0) -> 'dict' (implementation को सीधे call करना हो तो import scoop; scoop.stream_flux_read(frames, dt: 'float', radius_px: 'float', *, band_rows=None, band_px: 'int' = 9, window: 'int' = 32, particle_mass: 'float | None' = None, c_max: 'float' = 0.95, min_valid: 'float' = 0.3, min_crossings: 'float' = 30.0) -> 'dict', registry से लेना हो तो opsdrive.get("stream_flux_read"))
धारा के frame क्रम से प्रवाह दर [कण/s] (और mass flow rate) पढ़ता है — speed PIV से (pivops.piv_cross_correlate के सभी frame जोड़ों का median), कणों की line density λ समय-औसत coverage पर Boolean model के उलटे (stream_areal_density) को धारा के आर-पार integrate करके, और प्रवाह दर λ v।
band_rows = मापे जाने वाले पट्टों की केंद्र पंक्तियाँ (None हो तो PIV विंडो के सभी पंक्ति-केंद्र)। प्रत्येक पट्टा band_px पंक्तियों का औसत है। गति, प्रवाह की दिशा (पंक्ति बढ़ने की दिशा) का घटक है, जिसे PIV विंडो की पंक्तियों के बीच रैखिक रूप से अंतर्वेशित किया जाता है, और स्तंभों का औसत आवरण-भार से लिया जाता है। लौटाता है: rows, v_px (px/फ़्रेम), v (px/s), lam (कण/px), flux (कण/s), flux_naive (सरल c/(πr²)), flux_mean, flux_spread (पट्टों के बीच (max − min)/औसत = प्रवाह की निरंतरता की जाँच), mass_flux (particle_mass देने पर), valid_fraction (PIV की परिमित विंडो का अनुपात), c_max_seen, n_crossed_est (रिकॉर्डिंग के दौरान प्रत्येक पट्टे को पार करने वाले कणों की अनुमानित संख्या flux·T), rel_err_poisson (1/√n, कण-गणना का उतार-चढ़ाव), reliable (सभी पट्टों में n ≥ min_crossings)। कण कम हों तो प्रवाह स्वयं गणना का उतार-चढ़ाव ही है (एक पट्टे को 2 कण पार करें तो ±70 %) —— reliable=False से सूचित किया जाता है। Raises ValueError: 2 से कम फ़्रेम / आकार मेल नहीं खाते / PIV की परिमित विंडो min_valid से कम (कण इतने कम कि गति पढ़ी नहीं जा सकती —— जहाँ यह टूटता है) / पट्टा छवि के बाहर / संतृप्त।
• 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_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
scoop)spoon_bowl_volume · scoop_synth_side · revolution_volume_side · two_view_volume · scoop_volume_read · scoop_count · scoop_image_limit · tilt_wedge_retained
*Provenance: scoop.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.