arrow — ANNOTATE pointer op

• Data kinds: image2d → image2d

• Call: import fullseye as fs; fs.ledger.arrow(img, p0, p1, color='emphasis', width=2, head_len=12.0, head_width=9.0, scheme='okabe_ito', style=None) (to call the implementation directly, import annotate; annotate.arrow(img, p0, p1, color='emphasis', width=2, head_len=12.0, head_width=9.0, scheme='okabe_ito', style=None); from the registry, opsannotate.get("arrow"))

Usage

An arrow from p0 to p1 (the shaft via imagedraw.draw_line, the head filled).

Parameters

p0, p1 : (x, y)

Start point and tip. x=col, y=row.

head_len, head_width : float

Arrowhead length and width [px]. 0 gives a plain line segment. For short arrows whose arrowhead is longer than the shaft,

the arrowhead is shrunk similarly to 8/10 of the shaft length (otherwise

the base of the arrowhead would lie behind the start point and the shaft would be drawn backwards).

style : dict or None

Pass-through arguments to imagedraw.draw_line, which draws the shaft (dashes etc.).

Returns

ndarray

Raises

ValueError

end points non-finite or identical, negative thickness or arrowhead size, both ends outside the image.

Detailed usage guide

• figure_annotation family guide

Background guides (the physics and conventions behind this op)

• dataset_conventions — Training-dataset conventions — COCO / YOLO / VOC and pitfalls in visual inspection

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)

• annotate_gallery — py -3.11 examples/annotate_gallery.py

• poc_agv_fleet — py -3.11 examples/poc_agv_fleet.py

• poc_car_parking — py -3.11 examples/poc_car_parking.py

• poc_diabolo_model_and_vision — py -3.11 examples/poc_diabolo_model_and_vision.py

• poc_leak_localization — py -3.11 examples/poc_leak_localization.py

• poc_machine_condition_fusion — py -3.11 examples/poc_machine_condition_fusion.py

• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py

• poc_river_surface_velocity — py -3.11 examples/poc_river_surface_velocity.py

• poc_ttc_rss — py -3.11 examples/poc_ttc_rss.py

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

text_box · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar · axes_frame

Same category (pointer)

leader_line · label_points · crosshair


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