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.
The discrete wavelet transform can be found at the heart of many image-processing algorithms. Until now, the transform on general-purpose processors (CPUs) was mostly computed using a separable lifting scheme. As the lifting scheme consists of a small number of operations, it is preferred for processing using single-core CPUs. However, considering a parallel processing using multi-core processors, this scheme is inappropriate due to a large number of steps. On such architectures, the number of steps corresponds to the number of points that represent the exchange of data. Consequently, these points often form a performance bottleneck. Our approach appropriately rearranges calculations inside the transform, and thereby reduces the number of steps. In other words, we propose a new scheme that is friendly to parallel environments. When evaluating on multi-core CPUs, we consistently overcome the original lifting scheme. The evaluation was performed on 61-core Intel Xeon Phi and 8-core Intel Xeon processors.
The reconstruction of a patient-specific 3D anatomy is the crucial step in the computer-aided preoperative planning based on plain X-ray images. In this paper, we propose a robust and fast reconstruction methods based on fitting the statistical shape and intensity model of a femoral bone onto a pair of calibrated X-ray images. We formulate the registration as a non-linear least squares problem, allowing for the involvement of Levenberg-Marquardt optimisation. The proposed methods have been tested on a set of 96 virtual X-ray images. The reconstruction accuracy was evaluated using the symmetric Hausdorff distance between reconstructed and ground-truth bones. The accuracy of the intensity-based method reached 1.18 ± 1.57mm on average, the registration took 8.76 seconds on average.