knife_edge_track — DRIVE cutting op

• Data kinds: rgb → table

• Call: import fullseye as fs; fs.ledger.knife_edge_track(image, board_row: 'float | None' = None, win: 'int' = 6, reject_px: 'float' = 1.0, method: 'str' = 'coverage') -> 'dict' (implementation को सीधे call करना हो तो import cutting; cutting.knife_edge_track(image, board_row: 'float | None' = None, win: 'int' = 6, reject_px: 'float' = 1.0, method: 'str' = 'coverage') -> 'dict', registry से लेना हो तो opsdrive.get("knife_edge_track"))

उपयोग

सामने के दृश्य से धार की रेखा, पीठ (spine) और नोक निकालता है (केवल नियम)।

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

手順: 輝度の縦の段が「暗 → 明」(刃 → 壁)になる行を列ごとに拾う → 食材の列(彩度の規則)と周辺 3 px を除く → 被覆率法で副画素に(窓はぼけの推定に合わせて広げる)→ 全最小二乗の直線(measure.fit_line と同じ定式)→ 残差 > reject_px を外して当て直す。上側の境界(峰と先端の斜め線)も同じく拾い、峰の直線から外れた右側の連続部分 = 斜め線、刃先線との交点 = 先端。食材に隠れた列(occluded_cols)の刃先は、両側から当てた 1 本の直線の内挿になる。

method: "coverage"(既定)か "gradient"(微分の重心、比較用)。返り値: angle_deg(x 右・z 上の反時計回り、atan2)、line(row = cy + (col − cx)·dy/dx の全最小二乗)、slope、offset、tip_rc(先端、見つからなければ None)、n_points、rms_px、cols_used、occluded_cols。刃が写っていなければ 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_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py

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

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

इसी category के (cutting)

cutting_scene · cutting_face_render · cutting_edge_render · cutting_episode_synth · cutting_wrist_mjcf · cut_depth_from_side · slice_thickness_profile · cut_surface_roughness


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

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