dispense_mass_from_video — DRIVE granular op

• Data kinds: any × scalar × scalar × signal → table

• Call: import fullseye as fs; fs.ledger.dispense_mass_from_video(frames, pitch: 'float', bulk_density: 'float', times, ground=None) -> 'dict' (implementation को सीधे call करना हो तो import granular; granular.dispense_mass_from_video(frames, pitch: 'float', bulk_density: 'float', times, ground=None) -> 'dict', registry से लेना हो तो opsdrive.get("dispense_mass_from_video"))

उपयोग

heightmaps के क्रम से निकला mass और discharge rate —— हर frame के ढेर का volume × ρ_b, और समय के सापेक्ष linear fit (least squares)।

लौटाता है: masses [kg], rate (ढलान [kg/s]), total (अंतिम − प्रथम), rms (रेखीय अवशेष [kg])। Raises ValueError: 2 से कम फ़्रेम / समय-बिंदुओं की संख्या मेल नहीं खाती / समय-बिंदु एकदिष्ट नहीं। छवि का आयतन-विभेदन pitch³ ρ_b के क्रम का है (1 mm व 1500 kg/m³ पर 1.5 mg/पिक्सेल³, परंतु किनारे के 1 पिक्सेल की अनिश्चितता क्षेत्रफल × pitch से गुणा होती है, इसलिए व्यवहार में यह ग्राम-स्तर है)। मिलीग्राम-स्तर तराज़ू पर छोड़ें।

संदर्भ (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_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py

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

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

इसी category के (granular)

heap_volume_cone · heap_mass · heap_volume_heightmap · beverloo_rate · beverloo_fit · discharge_synth · hopper_discharge_rate · spoon_tilt_critical


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

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