sun_pixel_position — GEOCAM sun op

• Data kinds: image2d → keypoints

• Call: import fullseye as fs; fs.ledger.sun_pixel_position(image, threshold=0.98, min_area=4) (implementation को सीधे call करना हो तो import geocam; geocam.sun_pixel_position(image, threshold=0.98, min_area=4), registry से लेना हो तो opsgeocam.get("sun_pixel_position"))

उपयोग

image में सूर्य (sensor को saturate करने वाली disk) का centroid → keypoints (1, 2) = (u, v)।

आधार यह है कि "सूरज sensor को saturate करता है, बादल और बर्फ़ saturation से पहले रुक जाते हैं"। जिन pixels का value threshold (absolute, image 0 से 1) या ज़्यादा है उन्हें 8-neighbourhood में जोड़ा जाता है, और सबसे बड़े blob का luminance centroid लौटाया जाता है। blob min_area से छोटा हो, या कोई saturated pixel न हो, तो "सूरज तस्वीर में नहीं है" मानकर ValueError (चुपचाप बादल का reflection नहीं लौटाया जाता -- यह gate इसलिए है कि जिन तस्वीरों में सूरज पहाड़ के पीछे छिपा हो, उनमें बादल को सूरज पढ़कर pose ख़राब न हो)। यह image के maximum के सापेक्ष अनुपात नहीं है (अनुपात लेने पर, बिना सूरज वाली तस्वीर में सबसे चमकीला बादल हमेशा "सूरज" बन जाएगा)। रात के दृश्यों के artificial light sources और पानी पर सूरज का reflection saturate हो सकते हैं, इसलिए ऐसे दृश्यों में यह इस्तेमाल नहीं हो सकता। blob ठोस गोल होना चाहिए (fill fraction ≥ 0.4, aspect ratio ≤ 2.5) -- overexposure से आसमान की पट्टी saturate हुई तस्वीर लंबा-पतला blob बनाती है और reject होती है।

Args:

image: (H, W) float, 0 से 1 (range के बाहर ValueError)।

threshold: saturation माना जाने वाला absolute value (default 0.98)।

min_area: blob के pixels की न्यूनतम संख्या।

Returns:

keypoints (1, 2) float: (u, v)।

उपयोग की विस्तृत 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 जुड़ता है (keypoints को input के रूप में लेते हैं)

camera_orientation_from_sun · camera_orientation_from_sun_candidates

इसी category के (sun)

sun_position · camera_orientation_from_sun · 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.