Welcome to k-Wave-python’s documentation!¶
k-Wave is an open source acoustics toolbox for MATLAB and C++ developed by Bradley Treeby and Ben Cox (University College London) and Jiri Jaros (Brno University of Technology). The software is designed for time domain acoustic and ultrasound simulations in complex and tissue-realistic media. The simulation functions are based on the k-space pseudospectral method and are both fast and easy to use.
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.
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}
}