lidar_projection op• 데이터 종류: image2d → points
• 호출: import fullseye as fs; fs.ledger.unproject_spherical(range_img, v_fov=(-25.0, 15.0)) -> 'np.ndarray'(구현을 직접 호출하려면 import spherical_proj; spherical_proj.unproject_spherical(range_img, v_fov=(-25.0, 15.0)) -> 'np.ndarray', 원장에서 가져오려면 ops3d.get("unproject_spherical"))
구면 레인지 이미지 → 3D 점 (M, 3). range>0 인 셀만 빈 중심각으로 역투영.
project_spherical의 역. 행/열로부터 bin 중심의 (elevation, azimuth)를 복원하고, 저장된 range를 slant distance로 하여 구면 → 직교 좌표로 되돌린다. 비어 있으면(전부 0) (0, 3)을 반환한다.
• range_img: (v_res, h_res)의 2-D 배열(2-D가 아니거나 크기 0이면 ValueError). range > 0인셀만 점으로 만든다(0 = 빈 셀, 음수 값도 무시).
• v_fov: 투영 시와 같은 (v_min, v_max) [도]. 다른 값을 넘기면 앙각이 어긋난 점군이 된다(정합성은검사할 수 없다).
열 c → 방위각 az = (c + 0.5) / h_res · 2π - π, 행 r → 앙각 el = v_min + ((v_res-1-r) + 0.5) / v_res · (v_max - v_min)(도 → rad)로 하고, x = r cos(el) cos(az), y = r cos(el) sin(az), z = r sin(el). 점의 순서는 np.nonzero의 행 우선 순서(행 0부터). bin 중심으로 되돌리므로 원래 점과는최대 대략 "반 셀 각 × range" 어긋나며, 투영에서 버려진(같은 셀의 안쪽, FOV 밖의) 점은 돌아오지 않는다. 왕복하면 점 수는 일반적으로 줄어든다.
• depth_sensors — 깊이 센서 지식 — 측거 원리·실기 수치·결측이 나타나는 방식
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• lidar_projection — py -3.11 examples_3d/lidar_projection.py
points 를 입력으로 받는 것)points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d
lidar_projection)project_spherical · project_cylindrical
*Provenance: spherical_proj.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.