two_view op• Data kinds: image2d × image2d → signal
• Call: import fullseye as fs; fs.ledger.sampson_distance(F, pts1, pts2) (implementation को सीधे call करना हो तो import twoview; twoview.sampson_distance(F, pts1, pts2), registry से लेना हो तो ops3d.get("sampson_distance"))
epipolar constraint की Sampson distance (1st-order geometric error, हर correspondence के लिए)। → (N,)।
Raises ValueError: points (N,2) न हों / non-finite हों / correspondence की संख्या मेल न खाए।
गणना: homogeneous coordinates x1=(u1,v1,1), x2=(u2,v2,1) के साथ (x2ᵀ F x1)² / ((F x1)_0² + (F x1)_1² + (Fᵀ x2)_0² + (Fᵀ x2)_1² + 1e-12)।
• इकाई pixel की 2 घात है (दूरी की 2 घात)। pixels में threshold लगाना हो तो sqrt लें, या threshold को 2 की घात पर ले जाएँ।
• F fundamental_8point की परिपाटी x2ᵀ F x1 = 0 (pts1 → x1, pts2 → x2) का पालन करता है। क्रम बदलना हो तो F का transpose करें।
• denominator में 1e-12 जोड़ा जाता है, इसलिए F=0 पर भी exception नहीं आता और 0 लौटता है (F की जाँच नहीं होती)।
• return value float64 (N,) है। deterministic। (N,2) न होना, non-finite, या points की संख्या में बेमेल ValueError देता है।
• सामान्य उपयोग: fundamental_8point का fit जाँचना, गलत correspondence (बड़े मान) छाँटना, recover_pose से पहले की preprocessing।
• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं
• 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 के स्रोत।
• two_view_pose — py -3.11 examples_3d/two_view_pose.py
signal को input के रूप में लेते हैं)two_view)fundamental_8point · essential_8point · recover_pose · triangulate
*Provenance: twoview.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.