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)。

不截斷(clip) —— 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 加上的。鏈式模糊測試器(fuzzer)剛能執行這個 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 族使用指南

背景知識指南(該運算子背後的物理與規範)

• dataset_conventions — 訓練資料集規範知識 —— COCO / YOLO / VOC 及外觀檢測中的陷阱

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• 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

型別可銜接的下一個運算子(可接受 pairs 作為輸入)

label_points · annotate_invert_path · filled_polygon

同類別(plot)

axes_transform · nice_ticks · axes_frame · grid_lines · ticks · plot_series


*Provenance: annotate.py — ANNOTATE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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