transform op• 데이터 종류: depth → points
• 호출: import fullseye as fs; fs.ledger.depth_to_points(depth, fx, fy, cx, cy, stride=1)(구현을 직접 호출하려면 import match3d; match3d.depth_to_points(depth, fx, fy, cx, cy, stride=1), 원장에서 가져오려면 ops3d.get("depth_to_points"))
깊이 맵(2.5D) → 포인트 클라우드(핀홀 역투영). depth 행을 모든 기법에 잇습니다.
화소 (행 v, 열 u)의 깊이 z로부터 X = (u − cx)·z/fx, Y = (v − cy)·z/fy, Z = z를 만든다. 반환값은 (N,3) float64, 열은 (X, Y, Z)의 카메라 좌표(깊이와 같은 단위). z가 0 이하인화소는 버리므로 N은 화소 수 이하(무효 깊이는 0으로 나타내는 규약).
• fx, fy, cx, cy: 화소 단위의 초점 거리와 주점. project_points의 K와 같은 규약.
• stride: 행·열 모두 stride 화소 간격으로 솎아 낸다. u, v는 솎아 낸 후의 index에 stride
를 곱한 원 영상의 화소 좌표로 계산하므로, 솎아 내도 기하는 바뀌지 않는다.
• 입력 검증은 없다(2-D가 아니면 첨자에서 실패). NaN 깊이는 z > 0이 거짓이라 버려진다.
• 점은 행 우선 순서로 늘어서지만, 행·열 정보는 남지 않는다. 격자 구조를 유지하고 싶다면
depth_to_organized_points.
후단: points_to_voxel / estimate_point_normals / icp_point2plane. 역사상은 project_points, TSDF화는 tsdf_from_depth.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• structured_light_scan — py -3.11 examples_3d/structured_light_scan.py
• transforms_repr — py -3.11 examples_3d/transforms_repr.py
points 를 입력으로 받는 것)points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d
transform)points_to_voxel · gaussians_to_voxel · mesh_to_voxel · mesh_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth · signed_distance_field
*Provenance: match3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.