balltrack op• Data kinds: points × points → table
• Call: import fullseye as fs; fs.ledger.spin_from_markers(dirs0, dirs1, dt: 'float') -> 'dict' (implementation को सीधे call करना हो तो import balltrack; balltrack.spin_from_markers(dirs0, dirs1, dt: 'float') -> 'dict', registry से लेना हो तो opsdrive.get("spin_from_markers"))
marker दिशाओं के जोड़ों (पहले (M, 3), बाद (M, 3), unit vectors) से angular velocity vector ω [rad/s] निकालता है।
M ≥ 2 होने पर Kabsch (SVD) से घूर्णन R फ़िट करके घूर्णन कोण θ और अक्ष से ω = θ/dt·अक्ष निकाला जाता है (ज्ञात ω से घुमाई गई दिशाएँ देने पर 1e-9 तक वापस मिलता है = गेट)। M = 1 होने पर d₀ → d₁ का न्यूनतम घूर्णन (अक्ष = d₀ × d₁) लौटाया जाता है ("full" = False): चिह्न की दिशा के चारों ओर का घटक सिद्धांततः निर्धारित नहीं होता, और फ़्रेमों के बीच घूर्णन कोण बड़ा हो तो यह ω के लंबवत घटक के सन्निकटन के रूप में भी विफल हो जाता है (चिह्न ω अक्ष के चारों ओर लघु वृत्त बनाता है, जो न्यूनतम घूर्णन के बृहत् वृत्त से भिन्न है)। ईमानदारी से: एक चिह्न से ω निकालना हो तो dt छोटा रखें (घूर्णन कोण ≪ 1 rad); तब भी अक्ष के चारों ओर के घटक के लिए दूसरा चिह्न चाहिए। लौटाया गया मान {"omega", "angle", "axis", "R", "full", "rms"}।
• 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 के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_ball_bounce — py -3.11 examples/poc_ball_bounce.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
balltrack)ball_detect · ball_track · kalman_ca · triangulate_dlt · track_triangulate · bounce_detect · marker_direction · spin_from_marker_sequence
*Provenance: balltrack.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.