scoop_volume_read — DRIVE 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 पढ़ता है।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

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

• 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_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py

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

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

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