paper op• Data kinds: image2d × text → image2d
• Call: import fullseye as fs; fs.ledger.annotate_table(img, text, xy, anchor='lt', font_size=13, color='neutral', text_color=None, box_color=None, box_alpha=0.72, pad=6, col_gap=None, row_gap=0, align='auto', header=False, grid=False, border=0, border_color=None, font_path=None, scheme='okabe_ito', min_contrast=2.0, bold=False, italic=False, line_spacing=1.15, style=None, layout=None) (implementation को सीधे call करना हो तो import annotate; annotate.annotate_table(img, text, xy, anchor='lt', font_size=13, color='neutral', text_color=None, box_color=None, box_alpha=0.72, pad=6, col_gap=None, row_gap=0, align='auto', header=False, grid=False, border=0, border_color=None, font_path=None, scheme='okabe_ito', min_contrast=2.0, bold=False, italic=False, line_spacing=1.15, style=None, layout=None), registry से लेना हो तो opsannotate.get("annotate_table"))
image (image2d) लौटाता है: tab से अलग की गई string को table के रूप में बनाता है (अर्ध-पारदर्शी backing plate सहित)।
column width annotate_table_layout असली font से मापकर तय करता है। default column gap row height का 0.6 गुना है, इसलिए font_size बदलने पर दूरी भी साथ बदलती है। पृष्ठभूमि panel default रूप से अर्ध-पारदर्शी है (box_alpha=0.72, 0 पर कोई panel नहीं)।
box_alpha : float
panel की opacity [0,1]। 0 पर panel नहीं बनता। अर्ध-पारदर्शी होने पर नीचे की तस्वीर
झलकती है, इसलिए text का रंग "वास्तव में नीचे दिखने वाले रंग" के विरुद्ध जाँचा जाता है।
grid : bool
true हो तो columns और rows की सीमाओं पर हल्की lines खींचता है। default में नहीं खींचता (बिना lines की table
अक्सर पढ़ने में आसान होती है, ज़रूरत हो तभी जोड़ें)।
header : bool
true हो तो row 1 को bold करता है और उसके नीचे 1 line खींचता है।
align : str or sequence
TABLE_ALIGNS। default "auto" केवल संख्या वाले columns को right-align करता है।
layout : dict or None
annotate_table_layout का return value देने पर दोबारा गणना नहीं होती।
देने पर anchor आदि अनदेखे किए जाते हैं (दोनों न दें)।
(H,W[,C]) float64
table बनी हुई copy। input बदला नहीं जाता।
ValueError
annotate_table_layout जैसा ही + table image से बाहर निकलती है +
text पृष्ठभूमि के मुक़ाबले min_contrast से नीचे जाता है (चुपचाप काटा नहीं जाता)।
>>> import numpy as np, annotate
>>> img = np.zeros((120, 260, 3))
>>> out = annotate.annotate_table(img, "Item\tValue\nArea\t12.5\nPerimeter\t9.75",
... (10, 10), header=True)
>>> out.shape
(120, 260, 3)
>>> float(np.abs(out - img).max()) > 0.1
True
• 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 में दिए गए हैं।
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
• poc_rotation_invariance_audit — py -3.11 examples/poc_rotation_invariance_audit.py
image2d को input के रूप में लेते हैं)text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar
paper)annotate_leader_layout · annotate_leader · annotate_markers · annotate_legend · annotate_dimension_layout · annotate_dimension · annotate_angle_layout · annotate_angle
*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.