typed opsignal → signalfullseye.apply(img, "tb_local_std", a=0.5, b=0.5) (2-D は 1 画像 + 2 スカラつまみ a,b∈[0,1] のモデル)
図は合成の入力 128×128 で実際に走らせた出力。左が入力、右が出力。点群は上から見た散布(明るさ = z)、1-D 列は折れ線、体積は z 方向の最大値投影、動画は中央フレーム、複素画像は振幅、絵にならない返り値は値そのもの。
つまみ a を振る(0.1 / 0.5 / 0.9、もう一方は既定):

つまみ b は出力を変えない(実測: 0.1 / 0.5 / 0.9 で同一)。
段階(前置きの op → この op。左から順):

別の画像でも(合成シーン / 写真 / 硬貨。上段が入力、下段がその出力。つまみは既定):

Rolling standard deviation with a stated error bound.
The 1-D counterpart of the image operator local_std (HALCON’s
deviation_image): the variance is taken after subtracting the mean
(E[x^2] - E[x]^2 loses its significant digits on a signal that sits far
from zero), unbiased by n/(n-1), and the residual bias of the square root
removed by c4(n), so the estimate of sigma itself is unbiased.
window is the number of samples in the sliding window, rounded up to the
next odd number so the window can be centred (10 becomes 11). The error
bound below is computed from the window actually used, so the number quoted
stays true. The 2-D side does the same thing — _k(a) snaps the knob to
3/5/7/9 — and the typed bridge that exposes this op as tb_local_std
scales the knob continuously, so an even value arrives whenever the knob
lands between two odd ones.
The relative standard error of each estimate is 1/sqrt(2(n-1)) —
35 % for a 5-sample window, 11 % for 41. Quote it next to any noise figure:
a rolling sigma over 9 samples is +- 25 %, which is wider than most of the
changes people try to read off it.
Returns an array the same length as x (the ends are reflected).
Typed bridge of the 1d op local_std into the 2-D evolution registry: the same implementation, called under the op(v, a, b) convention. a drives window (default 9); b is unused.
下のプログラムは実際に走ることを確かめてある(図と同じ入力)。Studio のヘルプではこのブロックがボタンになり、その場で読み込んで実行できる。
img_to_signal 0.50 0.50
tb_local_std 0.50 0.50
次の例は元の台帳 op local_std を呼ぶもの。この橋渡し op は同じ実装を fn(v, a, b) 規約に合わせただけなので、挙動はそのまま当てはまる(呼び出し形だけ違う)。
py -3.11 examples/gallery2d_texture_freq.pysignal を入力に取れる)identity · tb_create_funct_1d_array · tb_smooth_funct_1d_gauss · tb_smooth_funct_1d_mean · tb_derivate_funct_1d · tb_integrate_funct_1d · tb_zero_crossings_funct_1d · tb_abs_funct_1d
typed)tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_points_render · tb_statistical_outlier_removal · tb_radius_outlier_removal
Provenance: ops.py — 2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.