fullseye

piv_streamlines — PIV visualise op

使い方

流線を RK4 でたどる(MATLAB の stream2 / streamslice に当たる)。

seeds を省くと Jobard–Lefer(1997)の等間隔配置で種を自動で置く。 流線どうしが separation 程度の間隔で並び、test_ratio * separation より近づいた所で打ち切る。矢印図は密にすると潰れ、種を手で置くと空白が 残るが、この配置は空白も重なりも作らない(下の 2 つの性質を門にしている)。

座標は flow の格子(行 0 が上、(row, col))。向きの場は速さで割って 弧長で進むので、1 歩は step 格子。速さは流線上の各点で別に返す。

Args: flow: (2, h, w)(dy, dx)。 seeds: (n, 2) の (row, col)。None で自動配置。 separation: 流線の間隔 [格子]。None で max(h, w) / 25(2 以上)。 step: RK4 の 1 歩 [格子]。 max_length: 片方向の最大の長さ [格子]。None で 4 * (h + w)。 min_speed: これより遅い所で止める(最大の速さに対する比)。 test_ratio: 打ち切りの距離を separation の何倍にするか(0 < x ≤ 1)。 Returns: dict(table): paths((m_i, 2) の list、上流 → 下流の順)、 speed(各点の速さの list)、seeds、stop((後ろ, 前) の 理由の組の list)、n、separation、d_test、step、 stop_counts(理由ごとの数)。 Raises: ValueError: flow の形・非有限、パラメータ範囲外、種が格子の外。

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

—

同カテゴリ(visualise)

piv_flow_to_rgbimage · piv_line_integral_convolution · piv_quiver · piv_streamline_image


Provenance: pivops.py — PIV operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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