fullseye

annotate_leader_layout — ANNOTATE paper op

使い方

table(dict)を返す: 引き出し線の配置(肘・文字位置・板の矩形)を閉形式で決める。

各点について候補側を固定順に試し、板が画像に収まり・他の板と重ならず・ 他の点を覆わない最初の候補を採る。どの候補も駄目なら肘を 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、配置できない点。

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

同カテゴリ(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. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.