tilted_surface_read — DRIVE scoop op

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

• 호출: 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'(구현을 직접 호출하려면 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', 원장에서 가져오려면 opsdrive.get("tilted_surface_read"))

사용법

기울어진 용기를 옆에서 본 영상(피복률)으로부터 용기에 남은 분체의 단면적과 안쪽 평평한 면의 높이를 읽습니다.

그릇의 좌표: 입구(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: 피복률이 아님 / 그릇 안이 비어 있음 / 인수의 범위.

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

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

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

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

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

• poc_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py

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

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

같은 카테고리(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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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