Skip to content

v0.25.5

Latest

Choose a tag to compare

@alexlib alexlib released this 22 Aug 21:46

Performance & correctness

  • validation.py: replaced scipy.ndimage.generic_filter with a sliding_window_view-based local median in local_median_val/local_norm_median_val (~48x faster, identical results).
  • lib.py: vectorized replace_nans with sliding_window_view. This also fixes a latent bug where the convergence check aliased replaced_old to replaced_new instead of copying it, silently capping outlier inpainting to ~2 passes regardless of max_iter.
  • pyprocess.py: switched the FFT cross-correlation path from numpy.fft to scipy.fft — ~2-3x faster, bit-identical results, no new dependency.
  • settings.py: use_vectorized now defaults to True (verified numerically equivalent, ~30% faster); PIVSettings.__post_init__ validates windowsizes/overlap consistency instead of failing deep inside windef.

Cumulative effect on the bundled 4-pass multipass tutorial: ~4.5s -> ~1.5s.

Full Changelog: v0.25.4...v0.25.5