depth_to_organized_points — 3D range_image op

• Data kinds: depth → pointmap

• Call: import fullseye as fs; fs.ledger.depth_to_organized_points(depth, fx=None, fy=None, cx=None, cy=None) (implementation को सीधे call करना हो तो import range_image; range_image.depth_to_organized_points(depth, fx=None, fy=None, cx=None, cy=None), registry से लेना हो तो ops3d.get("depth_to_organized_points"))

उपयोग

organized depth image → grid-aligned 3D points (H,W,3)।

fx,fy देने पर perspective back-projection P=((u-cx)/fx*d, (v-cy)/fy*d, d)। न देने पर orthographic (P=(x,y,depth), grid spacing 1)।

u column number (0..W-1) है, v row number (0..H-1)। fx और fy pixel units में focal length हैं, cx और cy principal point हैं, जो छोड़ने पर image center ((W-1)/2, (H-1)/2) होते हैं। fx और fy में से कोई एक भी None हो तो orthographic mode होता है और cx, cy को अनदेखा किया जाता है। orthographic mode में x, y सीधे pixel coordinates होते हैं, इसलिए ध्यान रखें कि depth की unit (mm आदि) और x, y की unit (pixel) मिली-जुली होती है। perspective mode में तीनों 3 components की unit depth जैसी ही होती है। depth 0 या NaN वैसे ही propagate होता है (0 वाले pixels x=y=0 origin पर इकट्ठा हो जाते हैं), इसलिए invalid pixels को हटाना caller का काम है। return value float64 (H,W,3) है; 3rd axis (x, y, z) है, x दाईं ओर, y नीचे, z गहराई में (image coordinate system)। कोई input validation नहीं है; 2-D के अलावा कुछ भी d.shape के unpacking में fail होता है। normals_from_depth इस function का output अंदर इस्तेमाल करता है।

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

• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)

• 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 करते हैं)

• range_image — py -3.11 examples_3d/range_image.py

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

fuse_to_voxel · bump_normals_fbm

इसी category के (range_image)

normals_from_depth · occlusion_edges · bearing_angle_image


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

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