k-Wave
A MATLAB toolbox for the time-domain
simulation of acoustic wave fields
k-Wave MATLAB Toolbox
k-Wave is written and packaged as a toolbox for MATLAB. k-Wave can be installed directly from MATLAB via the Add-On explorer. Alternatively, save and unpack the .zip file linked below, and then follow the installation instructions.
Operating System: | All platforms |
---|---|
Current Version: | 1.4 (see release notes) |
Release Date: | 8th November 2022 |
Requires: | MATLAB 2011a or later (limited functionality with earlier versions) |
Download: | Download k-Wave MATLAB toolbox (7.7 MB zip file) |
C++ Simulation Codes (CPU and GPU)
For users running large simulations in 2D and 3D, optimised versions of the functions kspaceFirstOrder2D
, kspaceFirstOrder3D
, and acousticFieldPropagator
written in C++ and CUDA can also be downloaded. These files have been compiled for both 64-bit Linux and Windows.
The downloaded files should be unzipped and placed in the root "binaries" folder within the k-Wave MATLAB toolbox (downloaded above). To test if the code is working, try opening one of the 3D examples in the toolbox (e.g., Simulating Ultrasound Beam Patterns) and replace kspaceFirstOrder3D
with kspaceFirstOrder3DC
. More information on how to use the C++ code is given in the k-Wave Manual.
Release versions are listed as MAJOR.MINOR.BUG-FIX-UPDATE. The C++ codes should be used with the MATLAB toolbox with the same major and minor release number. Source codes are also provided below if required. More information about the source codes and how to compile them is given in the k-Wave Manual and the doxygen documentation.
The performance of the compiled C++ binaries when running axisymmetric simulations with non-square domains is orders of magnitude slower due to peculiarities with the discrete trigonometric transforms in Intel MKL. If running axisymmetric simulations using the C++ code we recommend recompiling the code from source using FFTW.
NOTE: The v1.3 C++/CUDA binaries work with k-Wave v1.4. We plan to upload a new version with some performance enhancements in a few months time.
Operating System: | 64-bit Linux |
---|---|
Current Version: | 1.3 |
Release Date: | 28th February 2020 |
Requires: | CPU with an AVX instruction set and newer, GCC 6.3 (or later) |
Optional: | Nvidia GPU with SM architecture between 3.0 and 7.5 (Fermi - Turing) |
Compiled Binary Files: | Download binaries (135 MB zip file) |
Source Codes: | Download source (594 KB zip file) |
Operating System: | 64-bit Windows |
---|---|
Current Version: | 1.3 |
Release Date: | 28th February 2020 |
Requires: | CPU with an AVX instruction set and newer |
Optional: | Nvidia GPU with SM architecture between 3.0 and 7.5 (Fermi - Turing) |
Compiled Binary Files: | Download executables (135 MB zip file) |
Source Codes: | Download source (624 KB zip file) |
Previous Versions
Previous versions of the k-Wave Toolbox can be downloaded here.