annotate_leader_layout — ANNOTATE paper op

Data kinds: nonetable (an op determined by its arguments alone — it takes no image or data input)

Call: 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) (or opsannotate.get("annotate_leader_layout"))

Usage

Returns a table (dict): the placement of leader lines (elbow, text position, plate rectangle) in closed form.

> The detailed description below is the original text — the summary and the headings are translated.

各点について候補側を固定順に試し、**板が画像に収まり・他の板と重ならず・

他の点を覆わない**最初の候補を採る。どの候補も駄目なら肘を 1.6 倍、2.4 倍に

伸ばして再試行し、それでも駄目なら ValueError(黙って重ねない)。

Parameters

----------

shape : (H, W)

描く画像の大きさ。

points : (N, 2)

指す点 (x, y)

labels : sequence of str or None

各点の文字。None なら 1 始まりの番号。

gap : float

肘の長さ[px]。斜め腕 = gap、水平腕 = 0.6*gap。

side : {'auto','left','right'}

`'auto'` は画像中心から遠ざかる側を先に試す(対象の上に文字を

載せないため)。

Returns

-------

dict

``{"n", "gap", "items": [{"point", "elbow", "text_xy", "anchor",

"box", "side"}]}`box は板の (x, y, w, h)`。

Raises

------

ValueError

点が空・非有限、labels の数が合わない、未知の side、配置できない点。

Detailed usage guide

figure_annotation family guide

Background guides (the physics and conventions behind this op)

dataset_conventions — 学習データセット規約の知識 — COCO / YOLO / VOC と外観検査での落とし穴

References (sample data, literature)

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

Runnable examples (verified samples that actually call this op)

paper_figurepy -3.11 examples/paper_figure.py

Ops the type connects to (they accept table as input)

Same category (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.