annotate_leader_layout — ANNOTATE paper op

• 데이터 종류: 없음 → table(인자만으로 정해지는 연산자 —— 이미지나 데이터 입력을 받지 않습니다)

• 호출: 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)(구현을 직접 호출하려면 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), 원장에서 가져오려면 opsannotate.get("annotate_leader_layout"))

사용법

표(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, 배치할 수 없는 점.

자세한 사용 가이드

• figure_annotation 패밀리 가이드

배경 지식 가이드(이 연산자 앞에 있는 물리·규약)

• dataset_conventions — 학습 데이터셋 규약 지식 — COCO / YOLO / VOC와 외관 검사의 함정

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• paper_figure — py -3.11 examples/paper_figure.py

타입이 이어지는 다음 연산자(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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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