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_angle_layout(a, vertex, b, radius=30.0, text_gap=12.0) (to call the implementation directly, import annotate; annotate.annotate_angle_layout(a, vertex, b, radius=30.0, text_gap=12.0); from the registry, opsannotate.get("annotate_angle_layout"))
Returns a table (dict): the arc and text position for the (smaller) angle at a, vertex, b.
Angles come from atan2 in screen coordinates (x right, y down), so start_deg/end_deg are degrees "clockwise from the x axis", the same as arc.
dict
{"vertex","angle_deg","start_deg","end_deg","radius","text_xy", "bisector_deg"}.
ValueError
a or b coincides with vertex, non-finite values, or radius is not positive.
• 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_layout · annotate_leader · annotate_markers · annotate_legend · annotate_dimension_layout · annotate_dimension · 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.