tacscalib op• 데이터 종류: matrix × matrix → table
• 호출: import fullseye as fs; fs.ledger.gradient_lut_build(rgb_rows, normal_rows, bins: 'int' = 125, positions=None, image_shape=None, flat_rgb=None, flat_positions=None, min_rows_poly: 'int' = 30, ridge: 'float' = 0.001, pool: 'bool' = True) -> 'dict'(구현을 직접 호출하려면 import tacscalib; tacscalib.gradient_lut_build(rgb_rows, normal_rows, bins: 'int' = 125, positions=None, image_shape=None, flat_rgb=None, flat_positions=None, min_rows_poly: 'int' = 30, ridge: 'float' = 0.001, pool: 'bool' = True) -> 'dict', 원장에서 가져오려면 opsdrive.get("gradient_lut_build"))
example-based 기울기 LUT: 법선의 (기울기 θ, 방향 φ)를 bins × bins로 나누고, 각 빈에 떨어진 픽셀 RGB의 평균을 넣습니다(np.add.at으로 중복된 첨자도 모두 더함). rgb_rows (P, 3), normal_rows (P, 3).
positions((P, 2) = (행, 열))와 image_shape 를 주면 위치 의존 버전: min_rows_poly 행 이상인 bin 에 RGB = 6 계수 · [x², y², xy, x, y, 1] 을 맞춘다(x, y 는 이미지 크기로 −1..1, 상수항 외에는 작은 ridge). pool=True 이면행이 적은 bin 은 각도로 가장 가까운 다항식 bin 의 위치 항(5 계수)을 빌리고, 상수항만 자기 행들의 평균에 맞춘다 —— 위치 항을맞춘 bin 만으로 조회하면 기울기가 작은 bin 이 전부 빠져 0〜15° 가 불감대가 된다(시작품에서 밟은 함정). flat_rgb((F, 3), 위치 버전이면 flat_positions (F, 2) 도)는 "평평한 예" = 법선 (0, 0, 1) 로 추가하는 행(접촉에서먼 링 등, 약한 참값).
반환: bins, mean_rgb (bins, bins, 3)(빈 bin 은 nan), count (bins, bins), centre_normals (bins, bins, 3), n_rows, n_flat, coef ((bins, bins, 6, 3) 또는 None), basis("unit"), image_shape, poly_bins· pooled_bins(위치 항을 맞춘 / 빌린 bin 의 수). Raises ValueError: 형상 불일치 / bins < 4 / min_rows_poly < 6 / 행이 0 / 비유한값 / positions 와 image_shape 중 하나만 / flat_positions 만.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• poc_tacscalib_sphere_lut — py -3.11 examples/poc_tacscalib_sphere_lut.py
table 를 입력으로 받는 것)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
tacscalib)calib_pack_load · sphere_normals_known · lights_fit_from_sphere · membrane_predict_rgb · gradient_lut_invert · normal_error_map · sphere_cap_height · field_position_sweep
*Provenance: tacscalib.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.