overlay op• Data kinds: image2d × mask → table
• Call: import fullseye as fs; fs.ledger.annotate_invert_visibility(img, mask, mode='complement', alpha=1.0, bits=128) (implementation को सीधे call करना हो तो import annotate; annotate.annotate_invert_visibility(img, mask, mode='complement', alpha=1.0, bits=128), registry से लेना हो तो opsannotate.get("annotate_invert_visibility"))
बनाने से पहले मापता है कि inverted रंग उस background पर वास्तव में दिखता है या नहीं।
inverted colour का लाभ यह है कि "पृष्ठभूमि का रंग जानना ज़रूरी नहीं", लेकिन इसकी कमज़ोरी केवल 1 है, और वह घातक है -- mid-tones में invert करने पर भी वही रंग बनता है। 8bit grey में v=128 का complement v=127 है, और WCAG contrast ratio 1.014 है (ratio 1.0 का अर्थ "वही रंग"; measured 2026-09-08)। ratio 1.5 से नीचे की band v ∈ [113, 142] के 30/256 levels = सभी levels का 12 % है।
annotate_invert और annotate_invert_path अंदर से इसे call करके warning देते हैं, लेकिन जब आप स्वयं fail-closed चाहते हों, तो इस op से मापकर फिर बनाएँ (min_contrast देखें, कम हो तो mode="contrast" पर जाएँ)।
img : (H,W) या (H,W,C)
पृष्ठभूमि। मान की range [0,1]।
mask : (H,W)
जहाँ inversion रखना है। boolean या [0,1] के weights। shape अलग हो तो exception।
mode : str
INVERT_MODES में से एक।
alpha : float
inversion की तीव्रता। बनाते समय वाला ही मान दें -- दिखना "inverted colour" से नहीं बल्कि
वास्तव में रखे गए रंग से तय होता है, इसलिए alpha घटाने पर उत्तर बदल जाता है।
dict
pixels (weight >= 0.5 वाले pixels की संख्या) / min_contrast /
median_contrast / invisible_fraction (जिनका ratio
INVERT_MIN_CONTRAST से कम है उनका अनुपात) / worst_xy (सबसे खराब pixel,
न हो तो None)।
>>> import numpy as np, annotate
>>> flat = np.full((8, 8), 128 / 255.0) # mid-tone -- ऐसी पृष्ठभूमि जहाँ inversion गायब हो जाता है
>>> rep = annotate.annotate_invert_visibility(flat, np.ones((8, 8), bool))
>>> round(rep["min_contrast"], 3)
1.014
>>> rep["invisible_fraction"]
1.0
>>> annotate.annotate_invert_visibility(flat, np.ones((8, 8), bool),
... mode="contrast")["min_contrast"] > 4.5
True
• figure_annotation family guide
• dataset_conventions — Training dataset के conventions — COCO / YOLO / VOC और visual inspection में सावधानियाँ
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
table को input के रूप में लेते हैं)—
overlay)overlay_mask · overlay_labels · annotate_invert · annotate_invert_path
*Provenance: annotate.py — ANNOTATE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.