annotate_invert_path — ANNOTATE 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"))

Verwendung

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

Parameters

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.

Returns

(H,W[,C]) float64

Kopie mit aufgetragener Invertierung.

Examples

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

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

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

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

Gleiche Kategorie (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.