scoop op• 資料種類:image2d × scalar × scalar × scalar × scalar → table
• 呼叫: 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'(要直接呼叫實作,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';從台帳取用則 opsdrive.get("scoop_volume_read"))
從湯匙的側視影像讀取舀起的體積。
• 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(不透明時)/ 參數範圍。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py
table 作為輸入)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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.