compose op• 数据种类:image2d → image2d
• 调用: 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)(要直接调用实现,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);从台账取用则 opsannotate.get("panel_grid"))
把面板排成网格,并在每个框下铺一条标签带(montage / 印相表)。
6 个生成器各自持有不同的实现,是本 repo 中重复最多的图的部件。这里的做法:
• 不放大 —— 小的面板放在中央,用空白填充。拉伸的话, 看起来就像“有并不存在的分辨率”。
• 标签先测量再绘制 —— 放不下就缩小,还不行就抛出异常(由 text_box 的边界检查捕获)。
• 单元格尺寸取所有面板的最大尺寸,网格始终是矩形。
panels : sequence of ndarray
要排列的图像((H,W) / (H,W,C),尺寸可以各不相同)。
通道排列必须一致。
labels : sequence of str or None
各面板的标题。label_h 为 0 时不绘制。
ncols : int
列数。行数为 ceil(n/ncols)。
title : str or None
整体的标题(title_h 为 0 时自动预留 font_size+14)。
ndarray
新的合成图像(float [0,1])。尺寸为
W = 2*pad + ncols*cw + (ncols-1)*pad,
H = title_h + 2*pad + nrows*(ch+label_h) + (nrows-1)*pad。
ValueError
panels 为空 / 通道不一致 / ncols < 1 / 负的空白 /
labels 的数量不符。
• dataset_conventions — 训练数据集规范知识 —— COCO / YOLO / VOC 及外观检测中的陷阱
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• annotate_gallery — py -3.11 examples/annotate_gallery.py
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
image2d 作为输入)text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar
compose)*Provenance: annotate.py — ANNOTATE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.