camera_orientation_from_sun — GEOCAM sun op

• Data kinds: keypoints × signal → table

• Call: import fullseye as fs; fs.ledger.camera_orientation_from_sun(sun_pixels, unix_times, lat_deg, lon_deg, K) (implementation को सीधे call करना हो तो import geocam; geocam.camera_orientation_from_sun(sun_pixels, unix_times, lat_deg, lon_deg, K), registry से लेना हो तो opsgeocam.get("camera_orientation_from_sun"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

समय सहित सूर्य की pixel position, ≥ 2 point → camera का (yaw, pitch, roll) (Wahba समस्या का SVD हल = Kabsch)।

प्रत्येक अवलोकन के लिए, पिक्सेल → कैमरा निर्देशांक किरण d_c(K से), समय → वैश्विक सूर्य दिशा s_w(sun_position, अपवर्तन शामिल के साथ एक उन्नयन कोण का उपयोग करें: कैमरा स्पष्ट सूर्य को देखता है)। R = argmin Σ |R d_c - s_w|² इसे एसवीडी (काब्श 1976/मार्कले 1988) का उपयोग करके बंद रूप में हल करें और इसे (यॉ, पिच, रोल) में विघटित करें।

यह विशिष्ट रूप से दो बिंदुओं द्वारा निर्धारित होता है (एक ऐसी सतह की आवश्यकता होती है जो दो दिशाओं में फैली हो)। यदि प्रेक्षण एक बिंदु पर या सभी एक ही दिशा में हैं (संरेख) वैल्यूएरर - उदाहरण के लिए, एक ही समय में दो तस्वीरें, या कई दिनों तक केवल दोपहर के समय। एक दिन में सूर्य की दिशा बहुत बदल जाती है। चूँकि यह चलता है, आपको एक ही दिन में केवल दो फ़ोटो की आवश्यकता होती है, एक सुबह में ली गई और एक शाम को ली गई।

तर्क:

सन_पिक्सेल: (यू, वी) का (एन, 2)। sun_ Pixel_position का आउटपुट स्टैक्ड है।

यूनिक्स_टाइम्स: (एन,) यूनिक्स सेकंड (यूटीसी)।

lat_deg, lon_deg: कैमरा स्थिति।

के: (एफएक्स, वित्तीय वर्ष, सीएक्स, साइबर)।

रिटर्न:

तालिका: yaw_deg / pitch_deg / roll_deg / residual_deg (किरण और सूर्य दिशा

कोण अवशिष्ट का आरएमएस)/ max_residual_deg / n / स्थिति (अवलोकन दिशा में सतह की चौड़ाई =

0 के करीब दूसरे और सबसे बड़े एकवचन मान का अनुपात अनिश्चित है)।

उपयोग की विस्तृत guide

• geocam family guide

संदर्भ (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 के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

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

• poc_public_camera_heading — py -3.11 examples/poc_public_camera_heading.py

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

render_skyline_view · camera_orientation_from_skyline

इसी category के (sun)

sun_position · sun_pixel_position · sun_bloom_fit · camera_orientation_from_sun_candidates


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

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