annotate_table — ANNOTATE paper op

• Datenarten: image2d × text → image2d

• Aufruf: import fullseye as fs; fs.ledger.annotate_table(img, text, xy, anchor='lt', font_size=13, color='neutral', text_color=None, box_color=None, box_alpha=0.72, pad=6, col_gap=None, row_gap=0, align='auto', header=False, grid=False, border=0, border_color=None, font_path=None, scheme='okabe_ito', min_contrast=2.0, bold=False, italic=False, line_spacing=1.15, style=None, layout=None) (die Implementierung direkt: import annotate; annotate.annotate_table(img, text, xy, anchor='lt', font_size=13, color='neutral', text_color=None, box_color=None, box_alpha=0.72, pad=6, col_gap=None, row_gap=0, align='auto', header=False, grid=False, border=0, border_color=None, font_path=None, scheme='okabe_ito', min_contrast=2.0, bold=False, italic=False, line_spacing=1.15, style=None, layout=None); aus dem Register: opsannotate.get("annotate_table"))

Verwendung

Gibt ein Bild (image2d) zurück: zeichnet einen tabulatorgetrennten String als Tabelle (mit halbtransparenter Hinterlegung).

Die Spaltenbreiten bestimmt annotate_table_layout durch Messen mit der echten Schrift. Der Standard- Spaltenabstand ist das 0.6-Fache der Zeilenhöhe, daher ändert sich der Abstand mit font_size. Die Unterlage ist standardmäßig halbtransparent (box_alpha=0.72; 0 bedeutet keine Unterlage).

Parameters

box_alpha : float

Deckkraft der Unterlage [0,1]. Bei 0 wird keine Unterlage gezeichnet. Bei Halbtransparenz scheint das Bild darunter

durch, daher wird die Textfarbe gegen "die tatsächlich darunter erscheinende Farbe" geprüft.

grid : bool

Wenn wahr, werden an Spalten- und Zeilengrenzen blasse Linien gezogen. Standard ist ohne (eine Tabelle ohne Linien

ist oft besser lesbar; nur bei Bedarf hinzufügen).

header : bool

Wenn wahr, wird die 1. Zeile fett gesetzt und darunter 1 Linie gezogen.

align : str or sequence

TABLE_ALIGNS. Der Standard "auto" richtet nur Zahlenspalten rechtsbündig aus.

layout : dict or None

Übergibt man den Rückgabewert von annotate_table_layout, wird nicht neu berechnet.

Wird es übergeben, werden anchor usw. ignoriert (nicht beides übergeben).

Returns

(H,W[,C]) float64

Kopie mit gezeichneter Tabelle. Die Eingabe wird nicht verändert.

Raises

ValueError

Wie annotate_table_layout + Tabelle ragt aus dem Bild +

Text unterschreitet min_contrast gegenüber dem Untergrund (wird nicht stillschweigend abgeschnitten).

Examples

>>> import numpy as np, annotate

>>> img = np.zeros((120, 260, 3))

>>> out = annotate.annotate_table(img, "Posten\tWert\nFläche\t12.5\nUmfang\t9.75",

... (10, 10), header=True)

>>> out.shape

(120, 260, 3)

>>> float(np.abs(out - img).max()) > 0.1

True

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie figure_annotation

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• dataset_conventions — Konventionen für Trainingsdatensätze — COCO / YOLO / VOC und Fallstricke in der Sichtprüfung

Referenzen (Beispieldaten, Literatur)

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

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py

• poc_rotation_invariance_audit — py -3.11 examples/poc_rotation_invariance_audit.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

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

Gleiche Kategorie (paper)

annotate_leader_layout · annotate_leader · annotate_markers · annotate_legend · annotate_dimension_layout · annotate_dimension · annotate_angle_layout · annotate_angle


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