piv_streamlines — PIV visualise op

• 데이터 종류: flow2d → table

• 호출: import fullseye as fs; fs.ledger.piv_streamlines(flow, seeds=None, separation=None, step=0.25, max_length=None, min_speed=0.001, test_ratio=0.5)(구현을 직접 호출하려면 import pivops; pivops.piv_streamlines(flow, seeds=None, separation=None, step=0.25, max_length=None, min_speed=0.001, test_ratio=0.5), 원장에서 가져오려면 opspiv.get("piv_streamlines"))

사용법

유선을 RK4로 추적한다(MATLAB의 stream2 / streamslice에 해당).

seeds를 생략하면 Jobard–Lefer(1997)의 등간격 배치로 시드를 자동으로 둔다. 유선끼리 separation 정도의 간격으로 늘어서고, test_ratio * separation 보다 가까워진 곳에서 잘라낸다. 화살표 그림은 촘촘하게 하면 뭉개지고, 시드를 손으로 두면 공백이남지만, 이 배치는 공백도 겹침도 만들지 않는다(아래 2가지 성질을 게이트로 삼고 있다).

• 서로 다른 유선의 표본점끼리는 test_ratio * separation보다 가까워지지 않는다.

• 속력이 min_speed 이상인 격자점은 어느 것이든 어딘가의 유선으로부터 separation 이내에 있다(빠뜨림이 없음).

좌표는 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의 형태·비유한, 파라미터 범위 밖, 시드가 격자 밖.

자세한 사용 가이드

• piv_displacement 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

—

같은 카테고리(visualise)

piv_flow_to_rgbimage · piv_line_integral_convolution · piv_quiver · piv_streamline_image


*Provenance: pivops.py — PIV 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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