compose op• Datenarten: image2d → image2d
• Aufruf: 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) (die Implementierung direkt: 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); aus dem Register: opsannotate.get("panel_grid"))
Ordnet Panels in einem Raster an, mit einem Beschriftungsstreifen unter jedem Rahmen (Montage / Kontaktbogen).
6 Generatoren hatten jeweils eine eigene Implementierung -- die am häufigsten duplizierte Abbildungskomponente in diesem repo. Die Konventionen hier:
• Kein Hochskalieren -- kleine Panels werden zentriert und mit Rand aufgefüllt. Strecken würde so aussehen, als "gäbe es Auflösung, die nicht existiert".
• Labels erst messen, dann zeichnen -- passen sie nicht, werden sie verkleinert, und klappt das nicht, gibt es eine Exception (über die Randprüfung von text_box).
• Die Zellgröße ist das größte Maß über alle Panels, und das Gitter ist immer rechteckig.
panels : sequence of ndarray
Anzuordnende Bilder ((H,W) / (H,W,C), Größen dürfen variieren).
Die Kanalanordnung muss übereinstimmen.
labels : sequence of str or None
Überschrift jedes Panels. Ist label_h 0, wird nichts gezeichnet.
ncols : int
Spaltenzahl. Die Zeilenzahl ist ceil(n/ncols).
title : str or None
Gesamttitel (ist title_h 0, wird automatisch font_size+14 reserviert).
ndarray
Neues zusammengesetztes Bild (float [0,1]). Die Größe ist
W = 2*pad + ncols*cw + (ncols-1)*pad,
H = title_h + 2*pad + nrows*(ch+label_h) + (nrows-1)*pad.
ValueError
panels leer / Kanäle ungleich / ncols < 1 / negativer Rand /
Anzahl der labels passt nicht.
• Leitfaden zur Familie figure_annotation
• dataset_conventions — Konventionen für Trainingsdatensätze — COCO / YOLO / VOC und Fallstricke in der Sichtprüfung
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• annotate_gallery — py -3.11 examples/annotate_gallery.py
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
image2d als Eingabe)text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar
compose)*Provenance: annotate.py — ANNOTATE Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.