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_dimension_layout(p0, p1, offset=20.0, extension=6.0, text_gap=8.0) (to call the implementation directly, import annotate; annotate.annotate_dimension_layout(p0, p1, offset=20.0, extension=6.0, text_gap=8.0); from the registry, opsannotate.get("annotate_dimension_layout"))
Returns a table (dict): the geometry of a dimension line (line, extension lines, text position) in closed form.
With n as the left normal of p0→p1 (screen coordinates), the dimension line is p + n*offset, the extension lines run from p to p + n*(offset+extension), and the text sits n*text_gap from the midpoint of the dimension line. The sign of offset selects the side.
dict
{"p0","p1","line":(q0,q1),"ext0","ext1","text_xy","normal", "angle_deg","length_px"}.
ValueError
the 2 points coincide (no direction), non-finite, offset is 0.
• 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 · 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.