piv_quiver — PIV visualise op

• Data kinds: flow2d → rgb

• Call: import fullseye as fs; fs.ledger.piv_quiver(flow, spacing=None, scale=None, upsample=8, background=None, color=(0.08, 0.08, 0.12), width=1.5) (to call the implementation directly, import pivops; pivops.piv_quiver(flow, spacing=None, scale=None, upsample=8, background=None, color=(0.08, 0.08, 0.12), width=1.5); from the registry, opspiv.get("piv_quiver"))

Usage

Arrow plot (MATLAB's quiver). Returns (h*upsample, w*upsample, 3).

1 arrow per spacing grid units, with its origin on a grid point and its tip drawn to origin + scale * v. Omitting scale makes the longest arrow 0.9 times the spacing (the same idea as MATLAB's automatic scaling, so it does not overlap the neighbouring arrow). The scale factor changes from figure to figure, so for figures compared side by side fix scale. Arrows shorter than 1 pixel are not drawn (a point without direction would be read as a marker).

Args:

flow: (2, h, w) (dy, dx).

spacing: spacing of arrows [grid]. None gives about 20 along the long side.

scale: arrow length = scale * speed [grid].

upsample: output factor (large enough to draw arrowheads).

background: (h*upsample, w*upsample) or (…, 3). None means white.

A hue map (an enlarged piv_flow_to_rgbimage) or LIC can be laid underneath.

color / width: arrow colour (palette role name or RGB) and shaft thickness [px].

The default is an ink colour close to black (readable even over a hue map).

Returns:

(h*upsample, w*upsample, 3) float64, range [0, 1].

Detailed usage guide

• piv_displacement family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py

Ops the type connects to (they accept rgb as input)

—

Same category (visualise)

piv_flow_to_rgbimage · piv_line_integral_convolution · piv_streamlines · piv_streamline_image


*Provenance: pivops.py — PIV operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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