bundle_adjust op• Data kinds: pose × points → measurement
• Call: import fullseye as fs; fs.ledger.mean_reprojection_error(cameras, points, obs_cam, obs_pt, obs_uv, K) (implementation को सीधे call करना हो तो import bundle3d; bundle3d.mean_reprojection_error(cameras, points, obs_cam, obs_pt, obs_uv, K), registry से लेना हो तो ops3d.get("mean_reprojection_error"))
bundle adjustment के सभी observations पर reprojection error का RMS (pixels) लौटाता है।
सभी observation k के लिए project(points[obs_pt[k]], cameras[obs_cam[k]]) और obs_uv[k] का अंतर (du, dv) लेकर, sqrt(mean_k(du² + dv²)) = हर observation की reprojection दूरी की 2nd power के mean का square root float के रूप में लौटाता है (implementation r.reshape(-1,2)**2 * 2 के mean का square root है, वही मात्रा)। unit obs_uv और K के अनुसार pixel है।
• cameras: (nc,6) का [rvec(3) | t(3)] (X_cam = R X + t)।
• points: (m,3) के 3D point।
• obs_cam / obs_pt: हर observation का camera index और point index (int)। obs_uv: (K,2) के observed pixel।
• K: सभी camera के लिए साझा (3,3) intrinsic matrix।
यह bundle_adjust की return value rmse जैसी ही गणना है, optimisation से पहले और बाद की तुलना के लिए। 0 observation होने पर खाली array का mean NaN देता है (लंबाई की जाँच bundle_adjust में है, यह function अकेले नहीं करता)। camera के पीछे के point भी project वैसे ही project कर देता है, इसलिए visibility की गारंटी caller को देनी होती है। खाली input (cameras में 0 elements) पर ValueError आता है।
• 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 के स्रोत।
• bundle_adjust — py -3.11 examples_3d/bundle_adjust.py
measurement को input के रूप में लेते हैं)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
bundle_adjust)*Provenance: bundle3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.