k-wave-python
A Python implementation of k-Wave — an acoustics toolbox for time-domain simulation of acoustic wave fields. Includes a pure NumPy/CuPy solver (backend="python") and an interface to the pre-compiled k-Wave C++ binaries (backend="cpp") with NVIDIA GPU support (sm 5.0–9.0a).
Mission
Increase the accessibility and reproducibility of k-Wave simulations for medical imaging, algorithmic prototyping, and testing.
Getting started
A collection of examples covers common simulation scenarios. Run any example locally:
uv run examples/ivp_homogeneous_medium.py
No GPU required — all examples run on CPU with NumPy.
Installation
Using uv (recommended):
uv add k-wave-python
Or with pip:
pip install k-wave-python
Development
Development instructions can be found here.
Related Projects
- k-Wave: A MATLAB toolbox for the time-domain simulation of acoustic wave fields.
- j-wave: Differentiable acoustic simulations in JAX.
- ADSeismic.jl: a finite difference acoustic simulator with support for AD and JIT compilation in Julia.
- stride: a general optimisation framework for medical ultrasound tomography.
Documentation
The documentation for k-wave-python can be found here.
Citation
@software{k-Wave-Python,
author = {Yagubbayli, Farid and Sinden, David and Simson, Walter},
license = {GPL-3.0},
title = {{k-Wave-Python}},
url = {https://github.com/waltsims/k-wave-python}
}
Contact
e-mail walter.a.simson@gmail.com.
Metadata
Release files for k-Wave-python 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k_wave_python-0.6.2.tar.gz | 345.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| k_wave_python-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 570.3 kB
Release files / k_wave_python-0.6.2.tar.gz
| Download URL | k_wave_python-0.6.2.tar.gz |
|---|---|
| Size | 345.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5ef30d0abeb02e83f9882d3e77c20c86d5bf3e3164e621cf50874a16099d62f
|
|
BLAKE2b-256 checksum How to use checksums |
13b6049e067cf5b9ce5ede9f8b274ed81570e7bd4ab7a72ec82e8b43cae0d472
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.9
|
Release files / k_wave_python-0.6.2-py3-none-any.whl
| Download URL | k_wave_python-0.6.2-py3-none-any.whl |
|---|---|
| Size | 224.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
618e417cc939c0135fe45972db52bbd92342b880f54744957ac6d03eb1ab8d6d
|
|
BLAKE2b-256 checksum How to use checksums |
c3b8f3b1b27b65a98dacde3f653e40b429237823583ea75e4658ebd584f21469
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.9
|