furniture opimage2d → image2dimport fullseye as fs; fs.ledger.scale_bar(img, length, units_per_pixel, unit='µm', xy=None, anchor='rb', color='neutral', thickness=5, margin=14, font_size=13, label=True, label_fmt='{:g}', font_path=None, scheme='okabe_ito', text_color=None) (実装を直接呼ぶなら import annotate; annotate.scale_bar(img, length, units_per_pixel, unit='µm', xy=None, anchor='rb', color='neutral', thickness=5, margin=14, font_size=13, label=True, label_fmt='{:g}', font_path=None, scheme='okabe_ito', text_color=None)、台帳から引くなら opsannotate.get("scale_bar"))物理長のスケールバー。画素↔物理の換算は引数で受ける(勝手に決めない)。
バーの画素長は round(length / units_per_pixel) ―― これが構成的な真値で、
:mod:tests.test_annotate はこの一致を数字で確かめている。
length : float
バーが表す物理長(unit の単位で)。
units_per_pixel : float
1 画素が何 unit に相当するか。倍率ではなく分解能を渡す。
unit : str
単位の表記('µm', 'mm', 'px' など)。
xy : (x,y) or None
バーの基準点。None なら anchor 側の隅から margin 内側。
label : bool
"200 µm" のラベルを併記するか。
ndarray
ValueError length / units_per_pixel が非正・非有限、画素長が 1 未満、 バー(とラベル)が画像に収まらない。
py -3.11 examples/annotate_gallery.pyimage2d を入力に取れる)text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · axes_frame
furniture)Provenance: annotate.py — ANNOTATE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.