tilted_surface_read — DRIVE scoop op

• Data kinds: image2d × scalar × scalar × scalar × scalar → table

• Call: import fullseye as fs; fs.ledger.tilted_surface_read(side, lip_row: 'float', lip_col: 'float', theta_deg: 'float', L_px: 'float', *, wall_px: 'float | None' = None, threshold: 'float' = 0.5, shell_px: 'float' = 0.0, smooth_px: 'int' = 1) -> 'dict' (implementation को सीधे call करना हो तो import scoop; scoop.tilted_surface_read(side, lip_row: 'float', lip_col: 'float', theta_deg: 'float', L_px: 'float', *, wall_px: 'float | None' = None, threshold: 'float' = 0.5, shell_px: 'float' = 0.0, smooth_px: 'int' = 1) -> 'dict', registry से लेना हो तो opsdrive.get("tilted_surface_read"))

उपयोग

झुके पात्र की बगल से ली गई image (coverage) से, पात्र में बचे पाउडर का cross-section क्षेत्रफल और पीछे की समतल सतह की ऊँचाई पढ़ता है।

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

器の座標: 口(lip_row, lip_col、画素の端が整数)を原点に、床に沿って奥へ x(口を下げて θ 傾けた床 = 画像の右上がり)、床に垂直に y。0 ≤ x ≤ L_px・0 ≤ y ≤ wall_px(None = L_px)の中の被覆率の和が断面積 [px²] (口の外の流れは数えない)。粒の側面像の輪郭は粒の外側の包絡なので、自由表面に沿って厚さ約 1 粒半径の殻が余分に入る —— shell_px(粒の半径 [px] を渡す)× 自由表面の長さ(器の中の各列の粉面を smooth_px 列で移動平均した折れ線の長さ)を引いた area_corrected も返す。奥の平らな面の高さ plateau_px = 器の後ろ半分の粉面の床からの高さの中央値(楔の模型ではここは θ < θ_b の間変わらない; 実際の層は流れて薄くなる —— PoC で見る)。

返り: area_px, area_corrected, surface_len_px, plateau_px(後ろ半分に粉面が無ければ None)。Raises ValueError: 被覆率でない / 器の中が空 / 引数の範囲。

संदर्भ (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_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.