project_cylindrical — 3D lidar_projection op

• Data kinds: points → image2d

• Call: import fullseye as fs; fs.ledger.project_cylindrical(points, h_res: 'int' = 1024, z_bins: 'int' = 64, z_range=None) -> 'np.ndarray' (implementation को सीधे call करना हो तो import spherical_proj; spherical_proj.project_cylindrical(points, h_res: 'int' = 1024, z_bins: 'int' = 64, z_range=None) -> 'np.ndarray', registry से लेना हो तो ops3d.get("project_cylindrical"))

उपयोग

cylindrical range image पर project करता है (z_bins, h_res)। azimuth (column) × z (row), pixel=horizontal radius ρ=hypot(x,y)।

spherical projection elevation से layers काटता है, जबकि cylindrical projection ऊँचाई z को बराबर अंतराल पर काटता है (दीवार/खंभे/गलियारे को खोलकर दिखाने के लिए उपयुक्त)। pixel value z axis से क्षैतिज दूरी ρ है (cylinder पर के points के लिए स्थिर रहने वाला प्राकृतिक invariant)। खाली cell=0, पास वाले point को प्राथमिकता (न्यूनतम ρ)। z_range=(z_min,z_max) न दिया हो तो point cloud का [z.min, z.max] लिया जाता है। z चौड़ाई शून्य हो तो fail-closed (ValueError)। row 0 = ऊपरी सिरा (z=z_max)। z_range के बाहर, z axis पर (ρ=0), या non-finite coordinates वाले points छोड़ दिए जाते हैं।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• curvilinear_proj — py -3.11 examples_3d/curvilinear_proj.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

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

इसी category के (lidar_projection)

project_spherical · unproject_spherical


*Provenance: spherical_proj.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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