Acoustics toolbox for time domain acoustic and ultrasound simulations in complex and tissue-realistic media.
Project description
k-Wave-python
This project is a Python implementation of v1.4.0 of the MATLAB toolbox k-Wave as well as an interface to the pre-compiled v1.3 of k-Wave simulation binaries, which support NVIDIA sm 5.0 (Maxwell) to sm 9.0a (Hopper) GPUs.
Mission
With this project, we hope to increase the accessibility and reproducibility of k-Wave simulations for medical imaging, algorithmic prototyping, and testing. Many tools and methods of k-Wave can be found here, but this project has and will continue to diverge from the original k-Wave APIs to leverage pythonic practices.
Installation
To install the most recent build of k-Wave-python from PyPI, run:
pip install k-wave-python
After installing the Python package, the required binaries will be downloaded and installed the first time you run a simulation.
Getting started
After installation, run the B-mode reconstruction example in the examples
directory of the repository:
git clone https://github.com/waltsims/k-wave-python
cd k-wave-python
git checkout v0.3.0
pip install '.[example]'
python3 examples/us_bmode_linear_transducer/us_bmode_linear_transducer.py
This example file steps through the process of:
- Generating a simulation medium
- Configuring a transducer
- Running the simulation
- Reconstructing the simulation
Requirements
This example expects an NVIDIA GPU by default to simulate with k-Wave.
To test the reconstruction on a machine with a GPU,
set RUN_SIMULATION
on line 30 of bmode_reconstruction_example.py
to True
, and the example will run without the pre-computed data.
Development
If you're enjoying k-Wave-python and want to contribute, 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.
Contact
e-mail wsimson@stanford.edu.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for k_wave_python-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d424becd61a3c34e6e532413923b2e5beefbc0a57dd2c873de5095831b29447 |
|
MD5 | 4b332fdab8a6a85a15fefb37ac13b200 |
|
BLAKE2b-256 | 2d7f3e9b289062cf55ecbb04b2531561d1f7501a3e8c8c40e598729b1fb27321 |