estimate opimage2d × image2d → flow2dimport fullseye as fs; fs.ledger.piv_multipass(a, b, windows=(64, 32), overlap=0.5, peak='gauss3', window_func='hann', outlier_threshold=2.0, normalize='overlap', search_limit=0.25) (実装を直接呼ぶなら import pivops; pivops.piv_multipass(a, b, windows=(64, 32), overlap=0.5, peak='gauss3', window_func='hann', outlier_threshold=2.0, normalize='overlap', search_limit=0.25)、台帳から引くなら opspiv.get("piv_multipass"))fullseye.ledger.piv_multipass(...) は宣言 out 型 flow2d の値だけを返す(本体は補助情報も返す)。捨てられた側が要るときは fullseye.ledger.piv_multipass.raw(...)、または pivops.piv_multipass を直接呼ぶ。
(flow, info) -> flow2d粗い窓から細かい窓へ段を下げる多段 PIV。返りは (flow, info)。
各段の結果を次の段の予測変位として使う(整数量だけ 2 枚目の窓をずらす)。 段の間で外れ値を除いて埋めるのは意図的 —— 外れたベクトルをそのまま予測に 使うと、その窓は次の段でも外れたまま固定される。
Args:
a, b: 画像対。
windows: 大きい順の窓列。各段は前段の倍数関係でなくてよいが、
格子が変わるので予測は最近傍で載せ替える。
overlap / peak / window_func: :func:piv_cross_correlate と同じ。
outlier_threshold: 段間の正規化中央値検定の閾値。None で無効。
Returns:
最終段の (flow, info)。info["passes"] に各段の窓の大きさ。
py -3.11 examples/piv_field_analysis_tour.pypy -3.11 examples/piv_flow_from_particles.pypy -3.11 examples/poc_strain_history.pyflow2d を入力に取れる)piv_deform_pass · piv_outlier_mask · piv_replace_outliers · piv_vorticity · piv_divergence · piv_flow_magnitude · piv_to_velocity · piv_velocity_gradient
estimate)piv_cross_correlate · piv_deform_pass · piv_ensemble_correlate
Provenance: pivops.py — PIV operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.