Proceedings Article | 13 March 2019
Bradley Treeby, Jiri Jaros, Filip Vaverka, Jakub Budisky, Marta Cudova, Kristian Kadlubiak, Petr Kleparnik, Filip Kuklis, Elliott Wise, Panayiotis Georgiou, Elly Martin, James Robertson, Felix Lucka, Ben Cox
KEYWORDS: Photoacoustic spectroscopy, Algorithm development, MATLAB, Wave propagation, Acoustics, Photoacoustic imaging, Software development, Physics, Mathematics, Inverse problems
k-Wave is an open-source MATLAB toolbox designed for the time-domain simulation of propagating acoustic waves in 1D, 2D, or 3D. The first release was in 2009, and focused on the simulation of photoacoustic initial value problems and the reconstruction of photoacoustic images from simulated or experimental data. In the ten years since, there have been eight major releases, extending both the functionality and the computational performance of the toolbox. There are now more than 10,000 registered users worldwide, and the toolbox has become the defacto standard for simulation studies in photoacoustic imaging. The development team responsible for k-Wave has also grown, with expertise now spanning physics, mathematics, inverse problems, numerical methods, software engineering, and high-performance computing. In this presentation, the major theoretical, algorithmic, and computational developments of k-Wave will be described, along with the underlying design inputs and decisions that led to these developments. A roadmap for the future development of k-Wave will also be presented. This includes new transducer classes, stair-case free sources, native support for multiple GPUs, adaptive grid refinement using moving mesh methods, gradient-based iterative photoacoustic image reconstruction, performance and accuracy improvements for the elastic wave models, and automatic job-submission to run k-Wave simulations remotely using HPC-as-a-service.