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 로 넓히면 치우치지 않는다. 절편이 창보다 얇아도 두 계단은 별개의 비율이므로 간섭하지 않는다. 참조 색은 행마다 국소적으로 취한다(조명의 좌우 기울기에 추종). 칼날 판정은 "칼날의 휘도가 배경과 식재료 사이의 어디에 있는가"의 비로 하며, 밝기 배율(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.