texture op• Data kinds: image → image
• Call: fullseye.apply(img, "structure_tensor_orientation", a=0.5, b=0.5) (2-D model = एक image + दो scalar knobs a,b∈[0,1])
• GPU: हाँ (allow-list का mechanical GPU path, CuPy)। device="auto" मापे गए आकार (4,194,304 pixel) और उससे बड़े पर GPU चुनता है

*Figure synthetic 128×128 input पर सच में चलाकर मिला output है। बाईं ओर input, दाईं ओर output। Point clouds ऊपर से देखे गए scatter के रूप में (brightness = z), 1-D series line के रूप में, volumes z दिशा में maximum-intensity projection के रूप में, videos बीच के frame के रूप में, complex images amplitude के रूप में, और जो return values चित्र नहीं बन सकते वे स्वयं values के रूप में दिखाए जाते हैं।*
*Output viridis जैसे pseudo-colour में है (गहरा बैंगनी = कम, पीला = अधिक), ताकि distance, phase, orientation, depth जैसे "मात्राओं के field" पढ़े जा सकें।*
Knob a को बदलकर (0.1 / 0.5 / 0.9, दूसरा knob default पर):
▸ structure_tensor_orientation: knob a को बदलने का figure (docs site)
Knob b को बदलकर (0.1 / 0.5 / 0.9, दूसरा knob default पर):
▸ structure_tensor_orientation: knob b को बदलने का figure (docs site)
दूसरी images पर भी (synthetic scene / photo / coins। ऊपर की row में inputs, नीचे की row में उनके outputs। Knobs default पर):
▸ structure_tensor_orientation: दूसरी images पर output (docs site)
*चौथा column colour (H,W,3) input है। यह op channels को पार किए बिना colour संभालता है (colour channel को तीसरे spatial axis की तरह convolve नहीं करता)।*
Local धारियों की दिशा (structure tensor का principal axis) को [0,1] में map करके लौटाता है।
0 और 1 दोनों क्षैतिज हैं और 0.5 ऊर्ध्वाधर (दिशा 180 डिग्री में एक चक्कर पूरा करती है, इसलिए 0 और 1 एक ही दिशा हैं —— ध्यान दें कि इस आउटपुट का अंतर लेने पर सीम पर झूठा चरण बनता है)।
कोण की दिशा: कोण (पंक्ति, स्तंभ) छवि निर्देशांकों (पंक्तियाँ नीचे की ओर) में स्तंभ अक्ष से मापा जाता है, इसलिए स्क्रीन पर दक्षिणावर्त है। स्क्रीन पर वामावर्त θ डिग्री घूमी धारियाँ (180 - θ) / 180 लौटाती हैं (HALCON के orientation_region / orientation_xld = स्क्रीन पर वामावर्त से उलटी दिशा; xg_orientation जैसी ही दिशा)।
a अवकलन से पहले का स्मूदिंग sigma (0.5〜3.0 पिक्सेल), b समाकलन विंडो rho (1.0〜8.0 पिक्सेल)। rho का अर्थ है "कितने चौड़े क्षेत्र में दिशा एक जैसी मानी जाए"; रेशों या पॉलिश के निशानों की पिच से बड़ा लें।
लागू होने की शर्त: दिशा केवल वहीं परिभाषित है जहाँ ग्रेडिएंट संरचनात्मक रूप से झुका हो। जिन पिक्सेलों में टेंसर की विषमदैशिकता ट्रेस के 1e-6 से कम हो (समतल सतह, समदैशिक शोर) वे "दिशा अपरिभाषित" के रूप में 0.5 लौटाते हैं —— यह निचली सीमा न हो तो एकसमान सतह पर पूर्णांकन का कचरा arctan2 से बढ़ जाता है और चमक केवल 0.01 बदलने पर सारी दिशाएँ एक साथ पलट जाती हैं। दिशा की विश्वसनीयता structure_tensor_coherence से अलग मापें।
उपयोग: रेशा-प्रबलित सामग्री में रेशों का अभिविन्यास, रोलिंग / पॉलिश के निशानों की दिशा, लकड़ी के रेशे, क्रिस्टल कणों के खिंचाव की दिशा। HALCON में इसका कोई एकल op नहीं है।
• gallery2d_texture_freq family guide
• 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 में दिए गए हैं।
नीचे का program सच में चलता है, यह जाँचा गया है (figure वाला ही input)। Studio की help में यह block buttons बन जाता है, जिनसे इसे वहीं load करके चलाया जा सकता है।
structure_tensor_orientation 0.50 0.50
▸ यह pipeline load करें · Load करके चलाएँ
• degenerate_inputs — py -3.11 examples/degenerate_inputs.py
• gallery2d_texture_freq — py -3.11 examples/gallery2d_texture_freq.py
image को input के रूप में लेते हैं)identity · gaussian · mean_box · mean_box_wh · bilateral · kuwahara · unsharp · median
texture)std_filter · local_bimodality · local_std · scale_select_std · bootstrap_std_error · structure_tensor_coherence · gabor · sk_frangi
*Provenance: ops.py — 2D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.