Skip to main content

Acoustics toolbox for time domain acoustic and ultrasound simulations in complex and tissue-realistic media.

Project description

k-Wave-python

Documentation Status

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:

  1. Generating a simulation medium
  2. Configuring a transducer
  3. Running the simulation
  4. 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

  1. k-Wave: A MATLAB toolbox for the time-domain simulation of acoustic wave fields.
  2. j-wave: Differentiable acoustic simulations in JAX.
  3. ADSeismic.jl: a finite difference acoustic simulator with support for AD and JIT compilation in Julia.
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k_wave_python-0.3.1.tar.gz (182.7 kB view details)

Uploaded Source

Built Distribution

k_wave_python-0.3.1-py3-none-any.whl (210.6 kB view details)

Uploaded Python 3

File details

Details for the file k_wave_python-0.3.1.tar.gz.

File metadata

  • Download URL: k_wave_python-0.3.1.tar.gz
  • Upload date:
  • Size: 182.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.0

File hashes

Hashes for k_wave_python-0.3.1.tar.gz
Algorithm Hash digest
SHA256 fc9736505bc49b44dc87a632f33eeffcdda195fc8c759cb2c6db3ae9b1554c9e
MD5 33e566685effd1fbcc4e2e97d2732a0a
BLAKE2b-256 97f1cdce2a6b9a0aa76f89342f7811e371ed1fc701e392822459dacaeab55f75

See more details on using hashes here.

Provenance

File details

Details for the file k_wave_python-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for k_wave_python-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d424becd61a3c34e6e532413923b2e5beefbc0a57dd2c873de5095831b29447
MD5 4b332fdab8a6a85a15fefb37ac13b200
BLAKE2b-256 2d7f3e9b289062cf55ecbb04b2531561d1f7501a3e8c8c40e598729b1fb27321

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page