overlay op• Datenarten: image2d × pairs → image2d
• Aufruf: import fullseye as fs; fs.ledger.annotate_invert_path(img, points, width=1.5, closed=False, dash=None, mode='complement', alpha=1.0, bits=128, min_contrast=1.5, on_invisible='warn') (die Implementierung direkt: import annotate; annotate.annotate_invert_path(img, points, width=1.5, closed=False, dash=None, mode='complement', alpha=1.0, bits=128, min_contrast=1.5, on_invisible='warn'); aus dem Register: opsannotate.get("annotate_invert_path"))
Zeichnet einen Polygonzug (line) in invertierter Farbe. Kantengeglättet (Anti-Aliasing).
Linien sind gegenüber Regionen im Nachteil, und genau deshalb ist dieser op getrennt -- bei einer 1.5 Pixel starken Linie beträgt der Bedeckungsgrad der Randpixel nur etwa 0.3, daher bewegt die Invertierung sie nur um ihren Bedeckungsanteil. Auf einem Mittelton-Grund verschwinden sie noch früher als Regionen. Beurteilt wird über "Pixel mit Bedeckungsgrad 0.5 oder mehr" (darunter sind sie ohnehin halbtransparent; sind sie unsichtbar, liegt das nicht an der Invertierung).
points : (N,2)
Eckpunkte des Linienzugs (x, y) (Pixelkoordinaten).
width : float
Linienstärke (Pixel, 0.5 oder mehr).
closed : bool
Bei wahr wird der letzte mit dem ersten Punkt verbunden.
dash : (on, off) or None
Strichschritt (Pixel). Gleiche Regel wie _dash_pieces.
mode, alpha, min_contrast, on_invisible :
Wie bei annotate_invert.
(H,W[,C]) float64
Kopie mit aufgetragener Invertierung.
>>> import numpy as np, annotate
>>> img = np.zeros((16, 32))
>>> out = annotate.annotate_invert_path(img, [(2, 8), (29, 8)], width=3)
>>> float(out[8, 15]) # auf schwarzem Grund, daher eine weiße Linie
1.0
>>> float(out[2, 15]) # abseits der Linie unverändert
0.0
• 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_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
overlay)overlay_mask · overlay_labels · annotate_invert_visibility · annotate_invert
*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.