slice_thickness_profile — DRIVE cutting op

• 데이터 종류: rgb × scalar × scalar → table

• 호출: import fullseye as fs; fs.ledger.slice_thickness_profile(image, px_per_mm: 'float', board_row: 'float', z_band=None, win: 'int' = 4) -> 'dict'(구현을 직접 호출하려면 import cutting; cutting.slice_thickness_profile(image, px_per_mm: 'float', board_row: 'float', z_band=None, win: 'int' = 4) -> 'dict', 원장에서 가져오려면 opsdrive.get("slice_thickness_profile"))

사용법

날끝 방향의 영상에서 행마다 "식재료 끝면"과 "날의 평평한 면"의 서브픽셀 위치를 구하고, 차 = 절편 두께(mm).

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

各画素を 3 色(背景・食材・刃)の割合に線形分解する(彩度 R − B と輝度の 2 チャンネル + 和 = 1)。背景の割合は端面で 1 → 0 に落ちる純粋な段、刃の割合は刃の面で 0 → 1 に上がる純粋な段なので、それぞれの窓の中の和が縁の位置になる(被覆率法)。ぼけは割合の和を変えないので、窓をぼけの推定(端面の段の 2 次モーメント σ)に合わせて ±(3σ + 1) px に広げれば偏らない。切片が窓より薄くても、2 つの段は別々の割合なので干渉しない。参照の色は行ごとに局所で取る(照明の左右勾配に追従)。刃の判定は「刃の輝度が背景と食材の間のどこにあるか」の比で行い、明るさの倍率(gain)に依らない。

端面と刃の面はそれぞれ直線に乗るはず: 1.5 px より外れた行を外し、外れが 3 割を超えたら ValueError(黙って間違えない)。z_band: (z_lo, z_hi) mm で使う行を絞る(片刃の切刃部を外すのに使う)。返り値: z_mm、thickness_mm(行ごと)、mean_mm、lean_deg(刃の面の鉛直からの傾き、atan2)、face_line、end_line、n_rows、n_rejected、blur_px。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

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

같은 카테고리(cutting)

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


*Provenance: cutting.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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