waltsims/k-wave-python
A Python interface to k-Wave GPU accelerated binaries
✨ What's new
- CUDA arch coverage: 16 SMs. Now ships Turing through every shipping Blackwell variant — B200/GB200, B300/GB300, Jetson Thor, RTX 50xx, RTX PRO 6000, GB10/DGX Spark. Maxwell/Pascal/Volta dropped (CUDA Toolkit 13.0 removed them).
- Windows CUDA binary regression fixed. v1.4.1 silently shipped only sm_75 SASS (3.4 MB). v0.6.3rc1 ships the full multi-arch fat binary (14.8 MB + cuFFT runtime) via the new unified release.
- Runtime warning when `backend="cpp"` + `device="gpu"` is requested on a card with compute capability < 7.5 — clear message pointing to `backend="python"` or CUDA 12.x source build.
- Single unified binary URL. No more per-mirror version drift; one release tag, one set of platform-suffixed assets, all built from one source-tree SHA.
📦 Why pre-release
- ---
📋 What's Changed
- fix: apply apodization when delay is zero in scan_line by @wangwangbobo in https://github.com/waltsims/k-wave-python/pull/743
- fix: prevent HDF5 dataset collision when data_path is reused (#744) by @aconesac in https://github.com/waltsims/k-wave-python/pull/746
- Bump idna from 3.11 to 3.15 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/749
- Bump requests from 2.34.0 to 2.34.2 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/747
- Bump deepdiff from 9.0.0 to 9.1.0 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/748
- Bump coverage from 7.14.0 to 7.14.1 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/753
- docs: document Blackwell (sm 12.0) GPU support in README by @waltsims in https://github.com/waltsims/k-wave-python/pull/750
- Warn at runtime when GPU compute capability < 7.5 by @waltsims in https://github.com/waltsims/k-wave-python/pull/755
- + 5 more
✨ New Contributors
- @aconesac made their first contribution in https://github.com/waltsims/k-wave-python/pull/746
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.6.2...v0.6.3rc1
📦 Binary refresh — Blackwell (sm_120) support on Linux CUDA
- Pinned to upstream `v1.4.1` C++ binaries. Blackwell support is Linux CUDA only: Windows CUDA stays on v1.3.0 pending DLL packaging, and macOS has no CUDA path.
- Linux CUDA + OMP — `v1.4.1` adds sm_120 / Blackwell support. Rebuilt with static CUDA + cuFFT + FFTW + libstdc++ on ubuntu-22.04 (glibc 2.35 floor).
- macOS OMP — `v1.4.1` includes the fast-math fix that prevents NaNs in absorbing-media simulations on Apple Silicon, plus the `libhdf5.320.dylib` ABI refresh from v1.4.0 (#661).
- Windows OMP + CUDA — both still pinned to `v1.3.0`; v1.4.x DLL bundling not yet ready. Windows Blackwell support is not in this release.
- Intel Mac guard — `kwave/__init__.py` emits a `RuntimeWarning` and skips the darwin OMP download on `darwin` x86_64 (v1.4.x darwin is arm64-only). Universal2 coverage tracked for v0.6.5.
- Chmod fix — `download_binaries` now sets the exec bit on Linux/macOS (#741).
🐛 Solver & API fixes
- `alpha_mode` is now respected by the C++ backend, and unsupported combinations are rejected instead of silently ignored (#664, #712).
- C++ source flags now write signal length instead of a boolean (#698).
- `voxel_plot`: swapped x and z axes (#501, #734).
- `t_array` setter no longer raises `ValueError` when passed a numpy array (#732).
- `binary_path` is no longer dropped by `options_to_kwargs()` (#726).
- Added `dtype` parameter to `kspaceFirstOrder()` (#695, #716).
- Added `AlphaMode` enum (#705).
📦 Internals
- `step()` is branch-free; lambdas are bound at setup (#715).
- `_setup_physics_operators` split into four single-purpose methods (#713).
- `matlab_find` replaced with NumPy in `mapgen` (#609).
- `kWaveMedium` type annotations and test coverage (#736).
- Pinned `sphinx<9` to fix Read the Docs (#714).
- `gaussian` cleanup using `np.pi` (#717).
- Added `CLAUDE.md` (#696).
📦 Out of scope
- Darwin x86_64 (Intel Mac) coverage — tracked for v0.6.5.
📦 Thanks
- @aconesac — original Blackwell report ([#656](https://github.com/waltsims/k-wave-python/issues/656)) and Linux CUDA `v1.4.1` validation on Blackwell hardware ([#739](https://github.com/waltsims/k-wave-python/pull/739)).
- @elma16 — macOS OMP fast-math fix ([k-wave-omp-darwin#4](https://github.com/waltsims/k-wave-omp-darwin/pull/4)).
- ---
📋 What's Changed
- Add CLAUDE.md for Claude Code onboarding by @waltsims in https://github.com/waltsims/k-wave-python/pull/696
- Fix cpp source flags in new API by @waltsims in https://github.com/waltsims/k-wave-python/pull/698
- Bump requests from 2.33.0 to 2.33.1 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/699
- Bump jaxtyping from 0.3.2 to 0.3.7 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/703
- Bump deepdiff from 8.6.2 to 9.0.0 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/702
- Bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/711
- Add AlphaMode enum for stringly-typed alpha_mode field by @waltsims in https://github.com/waltsims/k-wave-python/pull/705
- Bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/709
- + 26 more
✨ New Contributors
- @maayanmatsliah-tech made their first contribution in https://github.com/waltsims/k-wave-python/pull/717
- @wangwangbobo made their first contribution in https://github.com/waltsims/k-wave-python/pull/732
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.6.1...v0.6.2
📦 Highlights
- 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)
- 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
- 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
- + 4 more
💥 ⚠️ 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: https://github.com/waltsims/k-wave-python/compare/v0.6.0...v0.6.1
📋 What's Changed
- Add cupy solver by @waltsims in https://github.com/waltsims/k-wave-python/pull/665
- Bump matplotlib from 3.10.3 to 3.10.7 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/651
- Add pml_inside parameter to kspaceFirstOrder() by @waltsims in https://github.com/waltsims/k-wave-python/pull/669
- Bump opencv-python from 4.11.0.86 to 4.13.0.92 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/673
- Bump pre-commit from 4.2.0 to 4.5.1 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/672
- Bump beartype from 0.22.4 to 0.22.9 by @dependabot[bot] in https://github.com/waltsims/k-wave-python/pull/671
- Add unified API docs and bump version to 0.6.0 by @waltsims in https://github.com/waltsims/k-wave-python/pull/678
- Fix docs furo toc by @waltsims in https://github.com/waltsims/k-wave-python/pull/679
✨ Add cupy solver
- k-wave-python can now be run completely in Python and no longer depends on the k-wave binary executables.
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.5.0rc1...v0.6.0
📋 Changes
- Checkpoint support - Added checkpoint flags for simulation state saving (#599)
- kArray equality operator - Added element equality operator for kArray (#462)
- Time reversal refactor - Factored out time reversal logic for better modularity (#577)
- Sharpness filters - Refactored sharpness filters and improved single_sided_correction (#573)
- Affine transformations - Refactored affine transformations and added deprecation utilities (#550)
- Test coverage - Improved test coverage on extract_amp_phase (#545)
- Cart sphere testing - Updated cart sphere testing (#583)
- Fixed confusing error message on kspaceFirstOrder3DG (#591)
- + 17 more
📋 What's Changed
- Migrate license to LGPL-3.0 by @waltsims in https://github.com/waltsims/k-wave-python/pull/531
- Allows for broader adoption in both academic and commercial applications
- Update simulation_options.py by @waltsims in https://github.com/waltsims/k-wave-python/pull/520
- Update execution options APIs by @waltsims in https://github.com/waltsims/k-wave-python/pull/529
- Add FFT + Time Reversal Reconstruction by @faberno in https://github.com/waltsims/k-wave-python/pull/475
📦 Dependency Updates
- Bump deepdiff from 8.0.1 to 8.1.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/532
- Bump matplotlib from 3.9.2 to 3.9.3 by @dependabot in https://github.com/waltsims/k-wave-python/pull/524
- Bump matplotlib from 3.9.3 to 3.10.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/530
- Bump coverage from 7.6.8 to 7.6.9 by @dependabot in https://github.com/waltsims/k-wave-python/pull/526
- Bump coverage from 7.6.7 to 7.6.8 by @dependabot in https://github.com/waltsims/k-wave-python/pull/517
- Update numpy requirement from <2.2.0,>=1.22.2 to >=1.22.2,<2.3.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/527
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.3.7...v0.4.0
This is a patch release on top of [k-wave-python v0.3.6](https://github.com/waltsims/k-wave-python/releases/tag/v0.3.6). This patch fixes the bug found in #514 by @mikaelhaji that broke Windows execution. This release fixes that issue by not passing the threads flag to the executable on Windows.
📋 What's Changed
- In #473 we updated the logic in the SimulationExecutionOptions() class to reduce user error and improve ease of use.
- In #505 we dropped support for Python 3.9 and added support for Python 3.13 in this version.
- Also in #505 we bumped our scipy dependency to v1.13.1.
- In #506 we bumped our numpy dependency to now support numpy v2.0 and adapted our k-wave-python to numpy v2.0 in #510. Please consult the v2.0 migration guide [here](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) to find out what this means for you!
- @brubbel fixed Bug #376 in #509 which will help everyone record multiple outputs. Thanks for the great find in your first PR @brubbel!
📦 Other Dependencies
- Bump jaxtyping from 0.2.34 to 0.2.36 by @dependabot in https://github.com/waltsims/k-wave-python/pull/508
- Bump coverage from 7.6.4 to 7.6.7 by @dependabot in https://github.com/waltsims/k-wave-python/pull/507
✨ New Contributors 🎉
- @brubbel made their first contribution in https://github.com/waltsims/k-wave-python/pull/509
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.3.5...v0.3.6
📋 What's Changed
- #454: measure no longer has enforced decimal places. Closes #454. by @precicely in https://github.com/waltsims/k-wave-python/pull/455
- 454 element measure precision by @precicely in https://github.com/waltsims/k-wave-python/pull/457
- update logger messages with f-strings by @waltsims in https://github.com/waltsims/k-wave-python/pull/458
- Update executor.py to handle spaces in binary path by @djps in https://github.com/waltsims/k-wave-python/pull/489
- add ability to run all examples by @waltsims in https://github.com/waltsims/k-wave-python/pull/480
- Update environment variable generation for safer execution by @waltsims in https://github.com/waltsims/k-wave-python/pull/493
✨ New examples
- #441 Add us beams example by @gordon-n-stevenson in https://github.com/waltsims/k-wave-python/pull/445
- Add Focussed Detector In 2D Example by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/492
- Add Focussed Detector In 3D Example by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/495
- Add Modelling Sensor Directivity In 2D Example by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/500
🐛 Bug fixes
- clear ruff errors in examples by @waltsims in https://github.com/waltsims/k-wave-python/pull/453
- Small bug fixes by @faberno in https://github.com/waltsims/k-wave-python/pull/463
- Typo in at_annular_array_3D script by @waltsims in https://github.com/waltsims/k-wave-python/pull/474
- Do not bind process in MacOS by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/476
- Suppress the FileNotFound error when attempting to set the file mode by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/498
📦 Dependencies
- Bump coverage from 7.5.4 to 7.6.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/443
- Bump furo from 2024.5.6 to 2024.8.6 by @dependabot in https://github.com/waltsims/k-wave-python/pull/456
- Bump matplotlib from 3.9.0 to 3.9.2 by @dependabot in https://github.com/waltsims/k-wave-python/pull/451
- Bump sphinx-toolbox from 3.6.0 to 3.8.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/452
- Bump deepdiff from 7.0.1 to 8.0.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/466
- Bump pre-commit from 3.7.1 to 3.8.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/465
- Bump jaxtyping from 0.2.31 to 0.2.34 by @dependabot in https://github.com/waltsims/k-wave-python/pull/464
- Bump sphinx-mdinclude from 0.6.1 to 0.6.2 by @dependabot in https://github.com/waltsims/k-wave-python/pull/467
- + 6 more
✨ New Contributors
- @precicely made their first contribution in https://github.com/waltsims/k-wave-python/pull/455
- @faberno made their first contribution in https://github.com/waltsims/k-wave-python/pull/463
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.3.4...v0.3.5
📦 Highlights
- k-Wave-python can now be run on MacOS using OpenMP https://github.com/waltsims/k-wave-python/pull/410
- We added key examples from contributors including defining a transducer by @gordon-n-stevenson in https://github.com/waltsims/k-wave-python/pull/378, phased-array @void-mckenzie in https://github.com/waltsims/k-wave-python/pull/379 and Modelling in 3D by @djps in https://github.com/waltsims/k-wave-python/pull/323.
- We improved support for Windows by addressing issues identified and addressed by @peterhollender in https://github.com/waltsims/k-wave-python/pull/367
- @KR616 contributed their first contributions to k-wave-python working to improve the issue and PR workflow in https://github.com/waltsims/k-wave-python/pull/409
- We want to thank the community for its support and contributions. We look forward to your continued feedback 💯. See you in the next release!
📋 What's Changed (complete list)
- Update documentation 2024 by @waltsims in https://github.com/waltsims/k-wave-python/pull/364
- Fix binary file redownloading on windows by @peterhollender in https://github.com/waltsims/k-wave-python/pull/367
- Modelling in 3D by @djps in https://github.com/waltsims/k-wave-python/pull/323
- Bump deepdiff from 6.7.1 to 7.0.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/368
- Bump scipy from 1.12.0 to 1.13.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/362
- Bump beartype from 0.17.2 to 0.18.2 by @dependabot in https://github.com/waltsims/k-wave-python/pull/361
- Axisymmetric by @djps in https://github.com/waltsims/k-wave-python/pull/371
- Fixed typo in utils/interp.py by @guillefix in https://github.com/waltsims/k-wave-python/pull/369
- + 45 more
✨ New Contributors
- @peterhollender made their first contribution in https://github.com/waltsims/k-wave-python/pull/367
- @void-mckenzie made their first contribution in https://github.com/waltsims/k-wave-python/pull/379
- @gordon-n-stevenson made their first contribution in https://github.com/waltsims/k-wave-python/pull/378
- @KR616 made their first contribution in https://github.com/waltsims/k-wave-python/pull/396
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.3.3...v0.3.4
📦 Enhancements
- Add ruff pre-commit-hook by @waltsims in https://github.com/waltsims/k-wave-python/pull/316
- Update simulation_options.py - ensure that a 2d pml can be set by @djps in https://github.com/waltsims/k-wave-python/pull/328
- Update CITATION.cff with doi by @waltsims in https://github.com/waltsims/k-wave-python/pull/337
- phased array example by @talg2324 in https://github.com/waltsims/k-wave-python/pull/341
- Make cart arc by @djps in https://github.com/waltsims/k-wave-python/pull/343
- Metadata for lazy installation by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/347
- Use jaxtyping by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/351
- update colors for colab by @waltsims in https://github.com/waltsims/k-wave-python/pull/357
🐛 Fixes
- 310 bug two times log compression in the example us bmode linear transducer by @waltsims in https://github.com/waltsims/k-wave-python/pull/356
- 344 karray 2d weights dimension by @waltsims in https://github.com/waltsims/k-wave-python/pull/346
- Remove deprecation warning in write attributes by @waltsims in https://github.com/waltsims/k-wave-python/pull/352
📦 Dependencies
- Bump gdown from 4.6.0 to 5.1.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/313
- Bump coverage from 7.4.3 to 7.4.4 by @dependabot in https://github.com/waltsims/k-wave-python/pull/345
- Bump jaxtyping from 0.2.25 to 0.2.28 by @dependabot in https://github.com/waltsims/k-wave-python/pull/354
- Bump beartype from 0.16.4 to 0.17.2 by @dependabot in https://github.com/waltsims/k-wave-python/pull/331
- Bump pre-commit from 3.6.2 to 3.7.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/355
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.3.2...v0.3.3
📋 What's Changed
- Lastly, we have added a citation file to the project. If you are enjoying k-Wave-python, please cite it in your work!
💥 Breaking Changes
- 233 drop python 38 support by @waltsims in https://github.com/waltsims/k-wave-python/pull/246
📦 Improvements
- Check if color_map is usable by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/287
- Add code coverage by @waltsims in https://github.com/waltsims/k-wave-python/pull/275
- Upgrade setup-python action & use pip cache by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/280
- Remove module name from object names in the documentation. by @waltsims in https://github.com/waltsims/k-wave-python/pull/285
- Remove legacy mode from write attributes by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/289
- create CITATION.cff proposal by @waltsims in https://github.com/waltsims/k-wave-python/pull/290
- Update pyproject.toml by @waltsims in https://github.com/waltsims/k-wave-python/pull/296
- Improve logging when checking for the presence of binaries by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/320
- + 9 more
🐛 Fixes
- #262 Fix stdout logic on exceptions by @waltsims in https://github.com/waltsims/k-wave-python/pull/297
- update argument types of focused_bowl_oneil by @waltsims in https://github.com/waltsims/k-wave-python/pull/317
- Fix colab link for controlling the pml by @waltsims in https://github.com/waltsims/k-wave-python/pull/333
📦 Dependencies
- Bump pre-commit from 3.5.0 to 3.6.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/278
- Bump coverage from 7.4.0 to 7.4.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/294
- Bump gdown from 4.7.3 to 5.1.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/295
- Bump pre-commit from 3.6.0 to 3.6.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/300
- Bump furo from 2023.9.10 to 2024.1.29 by @dependabot in https://github.com/waltsims/k-wave-python/pull/299
- Bump matplotlib from 3.7.2 to 3.8.3 by @dependabot in https://github.com/waltsims/k-wave-python/pull/325
- Bump scipy from 1.10.1 to 1.12.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/276
- Bump coverage from 7.4.1 to 7.4.3 by @dependabot in https://github.com/waltsims/k-wave-python/pull/330
- + 2 more
📦 Improved examples
- Ivp photo acoustic waveforms by @djps in https://github.com/waltsims/k-wave-python/pull/237
- Migrate examples to notebooks by @waltsims in https://github.com/waltsims/k-wave-python/pull/229
- Add example as a notebook: example_na_controlling_the_pml by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/217
📦 Enhancements
- Add type and shape annotations by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/249
- Update record_reader.py to remove warnings by @waltsims in https://github.com/waltsims/k-wave-python/pull/211
- non-copying operation to improve speed for large matrices (useful for 3D simulation) by @guillefix in https://github.com/waltsims/k-wave-python/pull/269
🐛 Bug fixes
- 250 bug phantom data cannot be downloaded from google drive by @waltsims in https://github.com/waltsims/k-wave-python/pull/251
- 238 bug attributeerror kwavesimulation object has no attribute record u split field by @waltsims in https://github.com/waltsims/k-wave-python/pull/242
📦 Dependency updates
- Bump sphinx-toolbox from 3.4.0 to 3.5.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/181
- Bump furo from 2023.8.19 to 2023.9.10 by @dependabot in https://github.com/waltsims/k-wave-python/pull/207
- Bump deepdiff from 6.3.1 to 6.7.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/241
- Bump h5py from 3.9.0 to 3.10.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/240
- Bump opencv-python from 4.8.0.76 to 4.8.1.78 by @dependabot in https://github.com/waltsims/k-wave-python/pull/239
- Bump sphinx-tabs from 3.4.1 to 3.4.4 by @dependabot in https://github.com/waltsims/k-wave-python/pull/243
- Bump opencv-python from 4.8.1.78 to 4.9.0.80 by @dependabot in https://github.com/waltsims/k-wave-python/pull/247
- Update numpy requirement from <1.25.0,>=1.22.2 to >=1.22.2,<1.27.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/209
- + 3 more
📦 Project maintenance
- Update issue templates by @waltsims in https://github.com/waltsims/k-wave-python/pull/230
- Cache generated matlab references by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/260
- Bump pytest coverage 3.11 by @waltsims in https://github.com/waltsims/k-wave-python/pull/206
- Bump python version for pages test by @waltsims in https://github.com/waltsims/k-wave-python/pull/234
✨ New Contributors
- @guillefix made their first contribution in https://github.com/waltsims/k-wave-python/pull/269
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.3.0...v0.3.1
📋 What's Changed
- ⚠️ This release contains breaking changes ⚠️
♻️ Interface refactoring
- Refactor kSpaceFirstOrder inputs by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/107
- Replace Array class with numpy-based Vector class by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/118
- Vectorize variables by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/124
📋 k-Wave v1.4.0 changes
- This release extends functional and testing coverage to k-Wave v1.4.0 MATLAB release. This includes migrating matlab functions to k-Wave-python and testing for correctness. These include:
- Python implementation of `makeCartRect` by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/126
- Add trim_zeros function and test by @waltsims in https://github.com/waltsims/k-wave-python/pull/128
- Python implementation of `trimCartPoints` by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/134
- New funcs: get_affine_matrix() and compute_linear_transform() by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/146
- Update fwhm return values for v1.4.0 by @waltsims in https://github.com/waltsims/k-wave-python/pull/148
- Add makeCartArc and tests by @waltsims in https://github.com/waltsims/k-wave-python/pull/149
- Add get_delta_BLI and test by @waltsims in https://github.com/waltsims/k-wave-python/pull/150
- + 9 more
📝 Documentation updates
- We have updated and extended the documentation of k-Wave by porting the documentation to readthedocs.
- rename pages to publish_pages by @waltsims in https://github.com/waltsims/k-wave-python/pull/119
- Update README.md to fix broken docs link by @waltsims in https://github.com/waltsims/k-wave-python/pull/123
- Create ruff.yml by @waltsims in https://github.com/waltsims/k-wave-python/pull/131
- Migrate documentation to Readthedocs by @waltsims in https://github.com/waltsims/k-wave-python/pull/152
- Clean up documentation by @waltsims in https://github.com/waltsims/k-wave-python/pull/158
- Update README.md by @waltsims in https://github.com/waltsims/k-wave-python/pull/170
📦 More examples 🍾
- Example script refactor and added testing by @waltsims in https://github.com/waltsims/k-wave-python/pull/108
- Examples/at linear array transducer by @waltsims in https://github.com/waltsims/k-wave-python/pull/174
- Example of karray source by @waltsims in https://github.com/waltsims/k-wave-python/pull/193
⚡ Performance improvements
- Auto chunking for HDF5 by @djps in https://github.com/waltsims/k-wave-python/pull/222
- Accelerate computations by @djps in https://github.com/waltsims/k-wave-python/pull/223
🐛 Fixes
- Update conversion.py - fix ordering in tolStar by @djps in https://github.com/waltsims/k-wave-python/pull/172
- Clean up extra GOLDEN_ANGLES by @waltsims in https://github.com/waltsims/k-wave-python/pull/178
- Update kwave_array.py removing discretization by @djps in https://github.com/waltsims/k-wave-python/pull/195
- lower library verbosity by @talg2324 in https://github.com/waltsims/k-wave-python/pull/196
- Update workflow checkout to v4 by @waltsims in https://github.com/waltsims/k-wave-python/pull/200
- Update filters.py by @djps in https://github.com/waltsims/k-wave-python/pull/202
- Update save_to_disk_func.py - fix dtype error by @djps in https://github.com/waltsims/k-wave-python/pull/204
- fix typo by @djps in https://github.com/waltsims/k-wave-python/pull/214
📦 Dependency updates
- Bump sphinx-toolbox from 3.2.0 to 3.4.0 by @dependabot in https://github.com/waltsims/k-wave-python/pull/99
- Bump deepdiff from 5.2.3 to 6.2.3 by @dependabot in https://github.com/waltsims/k-wave-python/pull/87
- Bump gdown from 4.6.0 to 4.6.4 by @dependabot in https://github.com/waltsims/k-wave-python/pull/110
- Bump k-Wave test version to v1.4.0 by @waltsims in https://github.com/waltsims/k-wave-python/pull/116
- Bump m2r2 from 0.3.2 to 0.3.3.post2 by @dependabot in https://github.com/waltsims/k-wave-python/pull/98
- Bump matplotlib from 3.6.3 to 3.7.1 by @dependabot in https://github.com/waltsims/k-wave-python/pull/114
- Bump sphinx-copybutton from 0.5.1 to 0.5.2 by @dependabot in https://github.com/waltsims/k-wave-python/pull/121
- Bump opencv-python from 4.7.0.68 to 4.7.0.72 by @dependabot in https://github.com/waltsims/k-wave-python/pull/112
- + 9 more
✨ New Contributors
- @djps made their first contribution in https://github.com/waltsims/k-wave-python/pull/172
- @talg2324 made their first contribution in https://github.com/waltsims/k-wave-python/pull/196
- @bvale1 made their first contribution in https://github.com/waltsims/k-wave-python/pull/212
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.2.1...v0.3.0
📋 Changes
- ensure download path is absolute
📋 What's Changed
- GitHub workflow by @waltsims in https://github.com/waltsims/k-wave-python/pull/15
- Update for Windows binary test compatibility by @Redstonemaster29 in https://github.com/waltsims/k-wave-python/pull/19
- Added Windows compatibility by @ktritz in https://github.com/waltsims/k-wave-python/pull/20
- Address warning in kspaceFirstOrder by @waltsims in https://github.com/waltsims/k-wave-python/pull/22
- Matlab ci artifacts by @waltsims in https://github.com/waltsims/k-wave-python/pull/25
- Build rebuild by @waltsims in https://github.com/waltsims/k-wave-python/pull/37
- Re-add requirement files for sphinx-build and dependabot by @waltsims in https://github.com/waltsims/k-wave-python/pull/39
- Update development documentation by @waltsims in https://github.com/waltsims/k-wave-python/pull/45
- + 24 more
✨ New Contributors
- @waltsims made their first contribution in https://github.com/waltsims/k-wave-python/pull/15
- @Redstonemaster29 made their first contribution in https://github.com/waltsims/k-wave-python/pull/19
- @ktritz made their first contribution in https://github.com/waltsims/k-wave-python/pull/20
- @dependabot made their first contribution in https://github.com/waltsims/k-wave-python/pull/47
- Full Changelog: https://github.com/waltsims/k-wave-python/compare/v0.1.0...0.2.0
✨ What's New
- Simulation runner by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/7
- BMode Linear Scan & Reconstruction example by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/5
- Script to run tests in a Docker Container by @faridyagubbayli in https://github.com/waltsims/k-wave-python/pull/8
✨ New Contributors
- @faridyagubbayli made their first contribution in https://github.com/waltsims/k-wave-python/pull/7
- Full Changelog: https://github.com/waltsims/k-wave-python/commits/v0.1.0
