paper op• Data kinds: none → table (an op determined by its arguments alone — it takes no image or data input)
• Call: import fullseye as fs; fs.ledger.annotate_leader_layout(shape, points, labels=None, font_size=12, pad=4, gap=22, side='auto', font_path=None, min_font_size=9) (to call the implementation directly, import annotate; annotate.annotate_leader_layout(shape, points, labels=None, font_size=12, pad=4, gap=22, side='auto', font_path=None, min_font_size=9); from the registry, opsannotate.get("annotate_leader_layout"))
Returns a table (dict): the placement of leader lines (elbow, text position, plate rectangle) in closed form.
For each point the candidate sides are tried in a fixed order, and the first candidate whose plate fits in the image, overlaps no other plate and covers no other point is taken. If no candidate works, the elbow is extended 1.6x, then 2.4x, and retried; if it still fails, ValueError (no silent overlapping).
shape : (H, W)
Size of the image being drawn.
points : (N, 2)
Points to point at, (x, y).
labels : sequence of str or None
Text for each point. If None, numbers starting at 1.
gap : float
Elbow length [px]. Diagonal arm = gap, horizontal arm = 0.6*gap.
side : {'auto','left','right'}
'auto' first tries the side away from the image centre (so as not to put text
on top of the subject).
dict
{"n", "gap", "items": [{"point", "elbow", "text_xy", "anchor", "box", "side"}]}. box is the plate's (x, y, w, h).
ValueError
points empty or non-finite, number of labels does not match, unknown side, a point that cannot be placed.
• figure_annotation family guide
• dataset_conventions — Training-dataset conventions — COCO / YOLO / VOC and pitfalls in visual inspection
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• paper_figure — py -3.11 examples/paper_figure.py
table as input)—
paper)annotate_leader · annotate_markers · annotate_legend · annotate_dimension_layout · annotate_dimension · annotate_angle_layout · annotate_angle · annotate_scale_bar_layout
*Provenance: annotate.py — ANNOTATE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.