compose op• Data kinds: image2d → image2d
• Call: import fullseye as fs; fs.ledger.panel_grid(panels, labels=None, ncols=3, pad=10, label_h=32, background=0.05, title=None, title_h=0, font_size=15, min_font_size=9, font_path=None, text_color=None, border=0, border_color='neutral', scheme='okabe_ito', style=None) (implementation को सीधे call करना हो तो import annotate; annotate.panel_grid(panels, labels=None, ncols=3, pad=10, label_h=32, background=0.05, title=None, title_h=0, font_size=15, min_font_size=9, font_path=None, text_color=None, border=0, border_color='neutral', scheme='okabe_ito', style=None), registry से लेना हो तो opsannotate.get("panel_grid"))
panel को grid पर सजाता है, हर frame के नीचे label की पट्टी के साथ (montage / contact sheet)।
6 generators में हर एक का अपना अलग implementation था -- यह इस repo का सबसे अधिक duplicate हुआ figure component है। यहाँ के नियम:
• upscale नहीं करता -- छोटे panels को केंद्र में रखकर margin से भरता है। खींचने पर ऐसा लगता है मानो "जो resolution है ही नहीं, वह मौजूद है"।
• labels को मापकर फिर बनाता है -- न समाएँ तो छोटा करता है, फिर भी न हो तो exception (text_box की boundary जाँच में पकड़ा जाता है)।
• cell का size सभी panels का अधिकतम माप है, और grid हमेशा आयताकार होता है।
panels : sequence of ndarray
क्रम से रखी जाने वाली images ((H,W) / (H,W,C), size अलग-अलग हो सकते हैं)।
channels का क्रम समान होना चाहिए।
labels : sequence of str or None
हर panel का शीर्षक। label_h 0 हो तो नहीं बनता।
ncols : int
columns की संख्या। rows की संख्या ceil(n/ncols) है।
title : str or None
पूरे का शीर्षक (title_h 0 हो तो font_size+14 अपने-आप reserve होता है)।
ndarray
नई composite image (float [0,1])। size है
W = 2*pad + ncols*cw + (ncols-1)*pad,
H = title_h + 2*pad + nrows*(ch+label_h) + (nrows-1)*pad।
ValueError
panels खाली / channels मेल नहीं खाते / ncols < 1 / negative margin /
labels की संख्या मेल नहीं खाती।
• 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_gallery — py -3.11 examples/annotate_gallery.py
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
image2d को input के रूप में लेते हैं)text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar
compose)*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.