scoop op• Data kinds: image2d × scalar × scalar × scalar × scalar → table
• Call: import fullseye as fs; fs.ledger.scoop_volume_read(side, rim_row: 'int', a_px: 'float', h_px: 'float', pitch: 'float', *, opaque: 'bool' = True, assume_level: 'bool' = False, heap_min_frac: 'float' = 0.005, level_tol: 'float' = 0.01, rim_full_frac: 'float' = 0.95, fit_angle: 'bool' = True) -> 'dict' (implementation को सीधे call करना हो तो import scoop; scoop.scoop_volume_read(side, rim_row: 'int', a_px: 'float', h_px: 'float', pitch: 'float', *, opaque: 'bool' = True, assume_level: 'bool' = False, heap_min_frac: 'float' = 0.005, level_tol: 'float' = 0.01, rim_full_frac: 'float' = 0.95, fit_angle: 'bool' = True) -> 'dict', registry से लेना हो तो opsdrive.get("scoop_volume_read"))
चम्मच की side image से उठाया गया volume पढ़ता है।
• opaque=True (धातु का कटोरा): किनारे के नीचे दिखाई नहीं देता, इसलिए किनारे के ऊपर के ढेर को revolution_volume_side से मापकर समतल-भराव के बंद-रूप (spoon_bowl_volume) में जोड़ता है: V = V_struck + V_above। यदि किनारे के ऊपर कुछ नहीं है, तो बगल से यह भेद नहीं किया जा सकता कि समतल भरा है या कम है —— assume_level=True न हो तो ValueError (चुपचाप समतल नहीं कहता)।
• opaque=False (पारदर्शी कटोरा / अनुप्रस्थ-काट छवि): पूरे को Pappus रूप में समाकलित करता है, और यदि यह समतल-भराव के 1 − level_tol से कम हो तो under के रूप में गहराई को बंद-रूप V_fill(y) के व्युत्क्रम (द्विभाजन) से लौटाता है (समतल चूर्ण-सतह मानकर)।
• fit_angle: यदि ढेर पर्याप्त बड़ा हो (बाएँ-दाएँ 8 या अधिक बिंदु), तो किनारे को ज़मीन मानकर granular के repose_angle_silhouette से ढेर की ढलान का कोण पढ़ता है (विश्राम कोण से मिलान हेतु; छोटे ढेर में None)।
लौटाता है: V, V_struck, V_above, state (heaped / level / under), heap_angle_deg, heap_base_frac (किनारे की पंक्ति पर ढेर की चौड़ाई / किनारे का व्यास), rim_full (heap_base_frac ≥ rim_full_frac: ढेर का निचला सिरा किनारे तक पहुँचता है = कटोरा संभवतः किनारे तक भरा है। जो "बनता हुआ ढेर" वहाँ तक नहीं पहुँचता उसमें किनारे के पास का भाग पूरा नहीं भरता, और अपारदर्शी पठन बंद-रूप जितना अधिक आता है —— MuJoCo में 0.90 पर +9 %, 0.99 पर +1 %), axis_col, fill_depth_px (पारदर्शी होने पर)। Raises ValueError: rim_row छवि के बाहर / किनारे के ऊपर खाली है और assume_level नहीं (अपारदर्शी होने पर) / तर्कों की सीमा।
• 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_count · scoop_image_limit · tilt_wedge_retained · tilt_pour_rate
*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.