panel_grid — ANNOTATE compose op

データ種: image2dimage2d

呼び出し: 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 / contact sheet)。

生成器 6 本がそれぞれ別実装を持っていた、**この repo で最も重複していた図の

部品**。ここでの流儀:

拡大しない ―― 小さいパネルは中央に置いて余白で埋める。引き伸ばすと

「無い解像度がある」ように見える。

ラベルは測ってから描く ―― 入らなければ縮め、駄目なら例外

(:func:text_box の境界検査に載る)。

• セルの大きさは全パネルの最大寸で、格子は常に矩形

Parameters

----------

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` を自動で確保)。

Returns

-------

ndarray

新しい合成画像(float [0,1])。大きさは

`W = 2*pad + ncols*cw + (ncols-1)*pad`、

`H = title_h + 2*pad + nrows*(ch+label_h) + (nrows-1)*pad`。

Raises

------

ValueError

panels が空 / チャンネル不一致 / ncols < 1 / 負の余白 /

labels の数が合わない。

詳しい使い方ガイド

figure_annotation ファミリ ガイド

背景知識ガイド(この op の手前にある物理・規約)

dataset_conventions — 学習データセット規約の知識 — COCO / YOLO / VOC と外観検査での落とし穴

参考(サンプルデータ・文献)

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

実行できる例(この op を実際に呼ぶ検証済みサンプル)

annotate_gallerypy -3.11 examples/annotate_gallery.py

型が繋がる次の op(image2d を入力に取れる)

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

同カテゴリ(compose)

zoom_inset · compare_frame


*Provenance: annotate.py — ANNOTATE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.