synth op• 資料種類:無 → images(僅由參數決定的運算子 —— 不接受影像或資料輸入)
• 呼叫: import fullseye as fs; fs.ledger.piv_synth_sequence(shape, displacement, n_frames=8, density=0.02, diameter_px=2.5, seed=0, noise_sigma=0.0, intensity=(0.6, 1.0), background=0.0, jitter=0.0)(要直接呼叫實作,import pivops; pivops.piv_synth_sequence(shape, displacement, n_frames=8, density=0.02, diameter_px=2.5, seed=0, noise_sigma=0.0, intensity=(0.6, 1.0), background=0.0, jitter=0.0);從台帳取用則 opspiv.get("piv_synth_sequence"))
• 經台帳呼叫的回傳值: fullseye.ledger.piv_synth_sequence(...) 只回傳宣告的 out 型別 images 的值(底層函式還會回傳輔助資訊)。需要被捨棄的部分時,請用 fullseye.ledger.piv_synth_sequence.raw(...),或直接呼叫 pivops.piv_synth_sequence。
• 底層回傳: (frames, truth) -> images
同一批粒子反覆移動而得到的影像序列。回傳 (frames, truth)。
piv_synth_pair 產生 2 幅,而這裡產生持續追蹤 1 個流動的序列。系集相關與時間統計只有用它才能驗證 —— 若把獨立的影像對排起來稱為序列,相鄰 2 幅之間沒有對應關係,統計就失去意義(實測:相對平均 0.73 px,擾動 RMS 竟為 4.05 px,量到的是產生方式而不是流動)。
Args:
shape: (H, W)。
displacement: 每 1 影格的位移(與 piv_synth_pair 相同的格式)。
n_frames: 影格數(2 以上)。
jitter: 每影格對整個場施加的擾動的標準差 [px]。0 則為穩態流。
要試驗時間統計(擾動、雷諾應力),請讓它大於 0。
★ 不是逐粒子獨立的擾動,而是每影格一個擾動。
若逐粒子施加,會在窗口內被平均,縮小為 N 的平方根分之一,
注入值與量測值對不上(實測:注入 0.3 量得 0.15)。
這是 PIV 的性質而不是錯誤,但不能用於驗證時間統計,因此這裡做成模擬非穩態流動本身的形式。
density / diameter_px / seed / noise_sigma / intensity / background:
與 piv_synth_pair 相同。
Returns:
(frames: list of (H, W), truth: (2, H, W))。truth 是
每 1 影格的平均位移。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py
images 作為輸入)piv_ensemble_correlate · piv_time_statistics
synth)piv_synth_particles · piv_synth_pair
*Provenance: pivops.py — PIV 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.