synth opなし → image2d(引数だけで決まる op —— 画像やデータの入力を取らない)import fullseye as fs; fs.ledger.piv_synth_particles(shape, density=0.02, diameter_px=2.5, seed=0, intensity=(0.6, 1.0), background=0.0) (実装を直接呼ぶなら import pivops; pivops.piv_synth_particles(shape, density=0.02, diameter_px=2.5, seed=0, intensity=(0.6, 1.0), background=0.0)、台帳から引くなら opspiv.get("piv_synth_particles"))fullseye.ledger.piv_synth_particles(...) は宣言 out 型 image2d の値だけを返す(本体は補助情報も返す)。捨てられた側が要るときは fullseye.ledger.piv_synth_particles.raw(...)、または pivops.piv_synth_particles を直接呼ぶ。
(image, positions) -> image2dトレーサ粒子を撒いた 1 枚を作る。返りは (image, positions)。
粒子はガウス輝点(直径 = 1/e^2 幅ではなく標準偏差の 2 倍を
diameter_px と呼ぶ、PIV の慣行)。位置は連続値なので、サブピクセルの
真値を持つ画像が作れる。
density は 1 画素あたりの粒子数。PIV の経験則では窓あたり 5-10 個が
目安で、32x32 窓なら 0.005-0.01 に当たる。少なすぎると相関ピークが立たず、
多すぎると粒子像が重なって個々の対応が失われる。
Args:
shape: (H, W)。
density: 画素あたりの粒子数(> 0)。
diameter_px: 粒子像の直径 [px] (> 0)。
seed: 乱数種。
intensity: 粒子の明るさの範囲 (lo, hi)。
background: 一様な下駄。
Returns:
(image (H, W) float64, positions (N, 2) の (row, col))。
py -3.11 examples/piv_field_analysis_tour.pyimage2d を入力に取れる)piv_cross_correlate · piv_multipass · piv_deform_pass · strain_from_displacement · correlation_quality · speckle_quality
synth)piv_synth_pair · piv_synth_sequence
Provenance: pivops.py — PIV operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.