Is your PIV vector field worth reporting?
Drop a PIV image pair. Your browser runs the openpiv pipeline on it - cross-correlation, sub-pixel peaks, validation, outlier replacement, scaling, vorticity - free, nothing uploaded. A paid run then reviews what the field supports or writes the openpiv script that reproduces it.
Examples are synthetic pairs with a known true field, and each has a saved model run - the whole page, free.
Your recent runs
What this does, and what it does not
Particle image velocimetry splits two exposures into interrogation windows, cross-correlates
each pair of windows and reads the displacement from the correlation peak. The page follows
openpiv 0.25.4 and the openpiv agent skill's runner.py step for step:
extended_search_area_piv (with an extended search area both windows are
intensity-normalised and frame A is masked to its central window; linear correlation zero-pads
the FFT), a Gaussian sub-pixel fit, the peak2peak or peak2mean ratio,
sig2noise_val and optionally global_val and
local_median_val, replace_outliers, scaling.uniform,
transform_coordinates and the skill's analyze.py. It was checked
against openpiv on 526 image pairs (490 random synthetic pairs over window, overlap, search,
correlation, sub-pixel, ratio, validation and replacement settings, and OpenPIV's own six test
pairs): 175,631 of 175,637 raw vectors agreed within 0.001 px and the signal-to-noise ratios
within 0.01%. The six that did not, and one flag, sit in the normalised path, where openpiv
computes in single precision and a near-zero point beside the peak makes the fit sensitive; the
page computes in double precision.
openpiv's own quirks are reproduced rather than fixed, and the page says so where they matter:
its rgb2gray weights blue by 0.144 instead of 0.114; get_coordinates
centres the labels on the image while the windows start at the corner, so each label can sit a
few pixels off its window; the linear correlation plane loses one FFT column on the way back.
Peak locking, the particle count and the quarter-window check are the page's own diagnostics.
One image pair measures displacements in the light sheet - not out-of-plane motion, and not
turbulence statistics, which need an ensemble. The paid run reads only what the browser computed
and your notes, is told never to compute a new number, and the page checks every number it writes.
Derived from the agent skill
@k-dense-ai/openpiv
(k-dense-ai/scientific-agent-skills; see the notice). No OpenPIV code
or data is included.