project_cylindrical — 3D lidar_projection op

Data kinds: pointsimage2d

Call: import fullseye as fs; fs.ledger.project_cylindrical(points, h_res: 'int' = 1024, z_bins: 'int' = 64, z_range=None) -> 'np.ndarray' (to call the implementation directly, import spherical_proj; spherical_proj.project_cylindrical(points, h_res: 'int' = 1024, z_bins: 'int' = 64, z_range=None) -> 'np.ndarray'; from the registry, ops3d.get("project_cylindrical"))

Usage

Project into a cylindrical range image (z_bins, h_res). Azimuth (columns) × z (rows); the pixel is the horizontal radius ρ = hypot(x,y).

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

球面投影が仰角で層を切るのに対し、円柱投影は高さ z を等間隔に切る(壁/柱/回廊の展開に向く)。

画素値は z 軸からの水平距離 ρ(円柱上の点が一定になる自然な不変量)。空セル=0, 近い点優先(最小 ρ)。

z_range=(z_min,z_max) 未指定なら点群の [z.min, z.max] を採用。z 幅ゼロは fail-closed(ValueError)。

行 0 = 上端(z=z_max)。z_range 外、z 軸上(ρ=0)、非有限座標の点は落とす。

Background guides (the physics and conventions behind this op)

depth_sensors — 深度センサの知識 — 測距原理・実機の値・欠測の出方

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)

curvilinear_projpy -3.11 examples_3d/curvilinear_proj.py

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

fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade

Same category (lidar_projection)

project_spherical · unproject_spherical


*Provenance: spherical_proj.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.