Skip to content

v0.6.1

Latest

Choose a tag to compare

@waltsims waltsims released this 30 Mar 01:47
· 6 commits to master since this release
f5c765f

k-wave-python v0.6.1

Highlights

Pure Python solver improvements

  • C-order migration: solver internals now use row-major (C) order. F-order preserved only at C++ HDF5 and MATLAB interop boundaries (#676)
  • tqdm progress bar for the Python solver (#681)
  • 3D PML fix: use pml_size=10 for 3D to match MATLAB defaults (#690)

29 examples ported to the new API

  • All Tier 1 examples use kspaceFirstOrder() with setup()/run()/__main__ pattern (#685)
  • Flattened to examples/*.py, old examples moved to examples/legacy/ (#686)
  • Run any example: uv run examples/ivp_homogeneous_medium.py — no GPU required

47 parity tests against MATLAB

  • Machine-precision validation (<5e-13 relative error) for all 1D/2D/3D examples (#686, #689)
  • Table-driven parametrized test framework with separate thresholds for time-series vs final fields

Docs & infrastructure cleanup

  • README rewritten: Python solver first, both backends described (#692)
  • Developer docs simplified to uv sync / uv run pytest (#687, #692)
  • macOS: helpful error message when C++ backend is missing brew dependencies (#692)
  • Deleted dead infrastructure: Makefile, Dockerfile, run_examples.py, notebook pipeline (#693)

⚠️ Breaking Changes

  • Solver output arrays are now C-order. Code that assumed F-order indexing of full-grid sensor data may need updating.

Dependencies

  • Bump deepdiff 8.6.1 → 8.6.2 (#675)
  • Bump requests 2.32.5 → 2.33.0 (#674)

New Contributors

  • @Copilot made their first contribution in #684

Full Changelog: v0.6.0...v0.6.1