k-Wave: An open-source toolbox for the time-domain simulation of acoustic wave fields

Lead Research Organisation: University College London
Department Name: Medical Physics and Biomedical Eng


Computer simulation is sometimes described as the 'third pillar' of science, alongside experiment and theory. Computer simulations have also become essential tools to aid design and development in industry. In acoustics, computer simulations are used very widely, in such diverse applications as modelling the sound of yet-to-be-built concert halls or lecture theatres, interpreting recordings from earthquakes, predicting the noise from new train lines or motorways, improving the sound of musical instruments, treatment planning in ultrasound therapy, and enhancing images in diagnostic medical ultrasound.

For most computer models based on the acoustic wave equation (a mathematical expression that describes all wave effects), it is necessary to represent the variations in the acoustic field at several points per wavelength. Think of drawing the undulations in beach sand by colouring squares on graph paper; several squares are required per undulation to capture the fact the sand rises and falls. When the domain to be simulated (concert hall, ocean, human head, etc) is many hundreds of acoustic wavelengths in size, which is often the case, the computational demands become significant. To continue the analogy, this means the graph paper - the computer memory - must be very large. In many applications, therefore it has been necessary to fall back on approximate models, which neglect important wave phenomena, such as diffraction.

k-Wave is an open-source (freely available) acoustic modelling toolbox that was first written to satisfy the demand for a fast and efficient full-wave model of acoustic (ultrasonic) propagation in biological tissue, and one that is easy-to-use for people who are not computational specialists. This combination has proved highly successful, and k-Wave now has many thousands of users around the world. There are users working in biomedical ultrasound and photoacoustics, but there are also many users in other fields who have found k-Wave to be useful for their particular applications.

The aim of this proposal is to re-engineer and improve k-Wave. The updated code will use new programming features and software-engineering best-practices that have developed since k-Wave was first released. We will add exciting new features, such as the ability to couple acoustic and thermal models together, to make rapid predictions when the acoustic source has only a small range of frequencies, and to accurately represent complex boundaries such as those encountered in a concert hall. One major advancement will be the ability to automatically find the gradient of the solver with respect to the parameters in the wave equation. This will allow k-Wave to be directly used for applications in machine learning (deep learning, artificial intelligence). As part of the project, we will also develop new training materials, run training courses, and work with new user communities across all areas of acoustics.

The proposed changes to k-Wave will not only support and improve existing simulation activities, but will spur researchers to test new ideas and exploit the new functionality in novel ways and in novel situations. The possibilities opened up by the combination of classical simulation and deep learning is particularly exciting. Potential applications include planning for ground-breaking ultrasound treatments for cancer and neurological disorders, providing a greater understanding of our ocean environments, and improving the design of acoustic spaces including opera houses and urban environments.


10 25 50

publication icon
Stanziola A (2023) Transcranial ultrasound simulation with uncertainty estimation in JASA Express Letters

publication icon
Stanziola A (2023) A learned Born series for highly-scattering media in JASA Express Letters