data_to_pixel — ANNOTATE plot op

• データ種: axes × signal × signal → pairs

• 呼び出し: import fullseye as fs; fs.ledger.data_to_pixel(axes, x, y) (実装を直接呼ぶなら import annotate; annotate.data_to_pixel(axes, x, y)、台帳から引くなら opsannotate.get("data_to_pixel"))

• 台帳経由の戻り値: fullseye.ledger.data_to_pixel(...) は宣言 out 型 pairs の値だけを返す(本体は補助情報も返す)。捨てられた側が要るときは fullseye.ledger.data_to_pixel.raw(...)、または annotate.data_to_pixel を直接呼ぶ。

使い方

axes_transform の対応でデータ点を画素 (x,y) に写す。

クリップしない ―― np.clip(v, lo, hi) は lo > hi(反転軸)のとき黙って hi を返し、全点が端に貼り付いた「もっともらしい嘘の図」になる(この repo の生成器で実際に一度騙されている)。範囲外を弾くのは plot_series の clip=True の仕事で、そこでは例外にする。

Returns

(ndarray, ndarray)

px, py(float、丸めない ―― 丸めは描画側の仕事)。

Raises

ValueError

log 軸に 0 以下の値を渡したとき(-inf を「端」として描く図は嘘になる)。

x と y の長さが違うとき(下記)。

Notes

長さの不一致を拒否するのは 2026-09-02 に足した。連鎖ファザーがこの op を実行できるようになった直後、長さの違う 2 本の signal を渡す経路で採掘器が np.stack の生の ValueError で落ちて発覚した。それまでは x 7 点・ y 3 点でも例外を出さず、長さの違う 2 本をそのまま返していた。

危ないのは落ちることではなく、落ちないこと ―― 返った 2 本を zip すると 3 点だけが、x の先頭 3 つの位置に描かれる。点が消えたことも、x がずれたことも図からは分からない。兄弟の plot_series は同じ状況を "x and y must have the same length" で拒否していたので、同じ族の中で規律が割れていた(片方だけ直しても再発する型なので、文言も揃えてある)。

詳しい使い方ガイド

• figure_annotation ファミリ ガイド

背景知識ガイド(この op の手前にある物理・規約)

• dataset_conventions — 学習データセット規約の知識 — COCO / YOLO / VOC と外観検査での落とし穴

参考(サンプルデータ・文献)

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

実行できる例(この op を実際に呼ぶ検証済みサンプル)

• annotate_gallery — py -3.11 examples/annotate_gallery.py

• poc_beam_modal_video — py -3.11 examples/poc_beam_modal_video.py

• poc_camera_calibration — py -3.11 examples/poc_camera_calibration.py

• poc_crack_width_timeseries — py -3.11 examples/poc_crack_width_timeseries.py

• poc_motion_magnification — py -3.11 examples/poc_motion_magnification.py

• poc_strain_history — py -3.11 examples/poc_strain_history.py

• poc_structure_4d_deterioration — py -3.11 examples/poc_structure_4d_deterioration.py

• poc_superresolution_limits — py -3.11 examples/poc_superresolution_limits.py

• poc_traffic_counting — py -3.11 examples/poc_traffic_counting.py

• poc_wound_area_tracking — py -3.11 examples/poc_wound_area_tracking.py

• poc_xyt_event_surface — py -3.11 examples/poc_xyt_event_surface.py

型が繋がる次の op(pairs を入力に取れる)

label_points · annotate_invert_path · filled_polygon

同カテゴリ(plot)

axes_transform · nice_ticks · axes_frame · grid_lines · ticks · plot_series


*Provenance: annotate.py — ANNOTATE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.