panel_grid — ANNOTATE 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 हमेशा आयताकार होता है।

Parameters

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 होता है)।

Returns

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।

Raises

ValueError

panels खाली / channels मेल नहीं खाते / ncols < 1 / negative margin /

labels की संख्या मेल नहीं खाती।

उपयोग की विस्तृत guide

• figure_annotation family guide

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• dataset_conventions — Training dataset के conventions — COCO / YOLO / VOC और visual inspection में सावधानियाँ

संदर्भ (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 करते हैं)

• annotate_gallery — py -3.11 examples/annotate_gallery.py

• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py

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

text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar

इसी category के (compose)

zoom_inset · compare_frame


*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.