paper op• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)
• Call: import fullseye as fs; fs.ledger.annotate_leader_layout(shape, points, labels=None, font_size=12, pad=4, gap=22, side='auto', font_path=None, min_font_size=9) (implementation को सीधे call करना हो तो import annotate; annotate.annotate_leader_layout(shape, points, labels=None, font_size=12, pad=4, gap=22, side='auto', font_path=None, min_font_size=9), registry से लेना हो तो opsannotate.get("annotate_leader_layout"))
table (dict) लौटाता है: leader line की placement (कोहनी, text position, plate का rectangle) closed form में तय करता है।
हर point के लिए candidate sides को तय क्रम में आज़माता है, और पहला candidate लेता है जिसकी plate image में समाए, किसी दूसरी plate से overlap न करे और किसी दूसरे point को न ढके। कोई candidate काम न करे तो elbow को 1.6 गुना, फिर 2.4 गुना बढ़ाकर फिर कोशिश करता है, फिर भी न हो तो ValueError (चुपचाप overlap नहीं करता)।
shape : (H, W)
बनाई जाने वाली image का size।
points : (N, 2)
जिन points की ओर इशारा करना है, (x, y)।
labels : sequence of str or None
हर point का text। None हो तो 1 से शुरू होने वाले नंबर।
gap : float
elbow की लंबाई [px]। तिरछा arm = gap, horizontal arm = 0.6*gap।
side : {'auto','left','right'}
'auto' पहले image केंद्र से दूर जाने वाली side आज़माता है (ताकि वस्तु के ऊपर text
न रखा जाए)।
dict
{"n", "gap", "items": [{"point", "elbow", "text_xy", "anchor", "box", "side"}]}। box plate का (x, y, w, h) है।
ValueError
points खाली या non-finite, labels की संख्या मेल नहीं खाती, अज्ञात side, ऐसा point जिसे रखा नहीं जा सकता।
• figure_annotation family guide
• dataset_conventions — Training dataset के conventions — COCO / YOLO / VOC और visual inspection में सावधानियाँ
• 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 में दिए गए हैं।
• paper_figure — py -3.11 examples/paper_figure.py
table को input के रूप में लेते हैं)—
paper)annotate_leader · annotate_markers · annotate_legend · annotate_dimension_layout · annotate_dimension · annotate_angle_layout · annotate_angle · annotate_scale_bar_layout
*Provenance: annotate.py — ANNOTATE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.