compare_frame — ANNOTATE compose op

• Data kinds: image2d × image2d → image2d

• Call: import fullseye as fs; fs.ledger.compare_frame(left, right, layout='h', labels=None, divider=3, gap=0, divider_color='neutral', background=0.0, label_anchor='lt', label_margin=8, scheme='okabe_ito', **text_kw) (to call the implementation directly, import annotate; annotate.compare_frame(left, right, layout='h', labels=None, divider=3, gap=0, divider_color='neutral', background=0.0, label_anchor='lt', label_margin=8, scheme='okabe_ito', **text_kw); from the registry, opsannotate.get("compare_frame"))

Usage

Put two images side by side, with a divider and labels at the boundary.

Parameters

left, right : ndarray

The 2 images to compare. Sizes may differ (the smaller side is filled with background).

The channel counts must match.

layout : {'h','v'}

'h' = side by side, 'v' = top and bottom.

labels : (str, str) or None

Heading for each.

divider : int

Thickness of the divider [px] (0 for none).

gap : int

Margin left on both sides of the divider [px].

Returns

ndarray

New composite image.

Raises

ValueError

channel count mismatch / unknown layout / negative divider or gap /

labels not 2 elements.

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

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

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

Same category (compose)

zoom_inset · panel_grid


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