gradient_lut_invert — DRIVE tacscalib op

• Data kinds: rgb × table × image2d → normalmap

• Call: import fullseye as fs; fs.ledger.gradient_lut_invert(rgb, table: 'dict', mask=None, min_count: 'int' = 1, method: 'str' = 'coarse', coarse: 'int' = 3, topk: 'int' = 2, chunk: 'int' = 1024) -> 'np.ndarray' (implementation को सीधे call करना हो तो import tacscalib; tacscalib.gradient_lut_invert(rgb, table: 'dict', mask=None, min_count: 'int' = 1, method: 'str' = 'coarse', coarse: 'int' = 3, topk: 'int' = 2, chunk: 'int' = 1024) -> 'np.ndarray', registry से लेना हो तो opsdrive.get("gradient_lut_invert"))

उपयोग

RGB (H, W, 3) → normals (H, W, 3): भरे हुए bins (count ≥ min_count) में से जिसका रंग सबसे पास है उसका केंद्र normal। position-dependent table (gradient_lut_build को positions देकर बनी) में पहले pixel की स्थिति पर हर bin का रंग predict करके फिर तुलना की जाती है।

method="coarse" (डिफ़ॉल्ट): coarse × coarse bin के हर खंड में एक प्रतिनिधि (सबसे अधिक पंक्तियों वाला bin) रखकर रंग में सबसे निकट शीर्ष topk खंड चुनता है, और केवल प्रत्येक के आसपास के 3 × 3 खंडों में सभी bin की तुलना करता है (मोटा → बारीक)। "exact": सभी bin की पूर्ण खोज (आधार)। रंग → normal बहु-शिखरी है (दूर के bin लगभग समान रंग रखते हैं), इसलिए मोटा → बारीक पूर्ण खोज के साथ ज़रूरी नहीं कि वही bin चुने: पहले वास्तविक उपकरण पर लगभग 90 % मेल खाते हैं, और भिन्न pixel में भी कोणीय त्रुटि की माध्यिका लगभग समान है (gate से मापा गया)। mask के बाहर (0, 0, 1)। min_count उपयोग किए जाने वाले bin की पंक्ति संख्या की निचली सीमा है: शोर-रहित कृत्रिम डेटा के लिए 1 पर्याप्त है, पर वास्तविक उपकरण पर केवल 1 पंक्ति वाले bin (पहले उपकरण के 24 अंशांकन चित्रों में 624) का रंग औसत स्वयं शोर है, और 1 रखने पर पुनर्प्राप्त गहराई +18 % विचलित होती है (10 या अधिक पंक्तियों पर +6 %)। इसके विपरीत, केवल स्थिति पद फिट किए गए bin (min_count=min_rows_poly) में खोजने पर 0〜15° का ढलान मृत क्षेत्र बन जाता है। Raises ValueError: आकार / mask का आकार / method की वर्तनी / coarse, topk या chunk 1 से कम / उपयोग योग्य bin 0 / स्थिति-निर्भर संस्करण में छवि का आकार भिन्न।

संदर्भ (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_tacscalib_sphere_lut — py -3.11 examples/poc_tacscalib_sphere_lut.py

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

spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse

इसी category के (tacscalib)

calib_pack_load · sphere_normals_known · lights_fit_from_sphere · membrane_predict_rgb · gradient_lut_build · normal_error_map · sphere_cap_height · field_position_sweep


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

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