depth_to_points — 3D transform op

Data kinds: depthpoints

Call: import fullseye as fs; fs.ledger.depth_to_points(depth, fx, fy, cx, cy, stride=1) (to call the implementation directly, import match3d; match3d.depth_to_points(depth, fx, fy, cx, cy, stride=1); from the registry, ops3d.get("depth_to_points"))

Usage

Depth map (2.5-D) → point cloud (pinhole back-projection). It connects the depth row to every method.

> The detailed description below is the original text — the summary and the headings are translated.

画素 (行 v, 列 u) の深度 z から `X = (u − cx)·z/fxY = (v − cy)·z/fyZ = 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`。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

structured_light_scanpy -3.11 examples_3d/structured_light_scan.py

transforms_reprpy -3.11 examples_3d/transforms_repr.py

Ops the type connects to (they accept points as input)

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

Same category (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 operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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