Abstract
mSOUND is an open-source toolbox written in MATLAB. This toolbox is intended for modeling linear/nonlinear acoustic wave propagation in media (primarily biological tissues) with arbitrary heterogeneities, in which, the speed of sound, density, attenuation coefficient, power law exponent and nonlinear coefficient are all spatially varying functions. The computational model is an iterative one-way model based on a mixed domain method. In this paper, a general guideline is given along with three representative examples to illustrate how to set up simulations using mSOUND. The first example uses the transient mixed-domain method (TMDM) forward projection to compute the transient acoustic field for a given source defined on a plane. The second example uses the frequency-specific mixed-domain method (FSMDM) forward projection to rapidly obtain the pressure distribution directly at the frequencies of interest, assuming linear or weakly nonlinear wave propagation. The third example demonstrates how to use TMDM backward projection to reconstruct the initial acoustic pressure field to facilitate photoacoustic tomography (PAT). mSOUND (https://m-sound.github.io/mSOUND/home) is designed to be complementary to existing ultrasound modeling toolboxes and is expected to be useful for a wide range of applications in medical ultrasound including treatment planning, PAT, transducer design and characterization.
Index Terms—: mSOUND toolbox, heterogeneity, high intensity focused ultrasound, transient mixed-domain method (TMDM), frequency-specific mixed-domain method (FSMDM)
I. Introduction
Numerical modeling of wave propagation provides an important avenue to help understand ultrasound-tissue interaction [1, 2], innovate medical ultrasound technologies [3], and facilitate the characterization and design of ultrasound transducers in an efficient and cost-effective manner [4–6].
To date, many simulation toolboxes based on various algorithms have been made available in the public domain. Field II [7,8] is regarded as the earliest and one of the most popular open source toolboxes for acoustic field characterization and studying new ultrasound imaging protocols [9]. However, it is only capable of linear acoustic wave simulations in homogeneous media. Other early open-source codes include the Texas [10] and Bergen codes [11], which solve the Khokhlov-Zabolotkaya-Kuznetsov (KZK) equation. FOCUS [12] computes the acoustic fields radiated by ultrasound transducers using the fast nearfield method (FNM) and the angular spectrum approach (ASA). Only homogeneous media or layered media are considered. In addition, the KZK equation is used for nonlinear wave propagation in FOCUS. SimSonic [13] was developed to solve the elastodynamic equations in 2D and 3D using the finite-difference time domain (FDTD) method. Only linear wave propagation is considered in SimSonic. HITU Simulator was developed by Soneson [14, 15] and it consists of a wave propagation module and a heating module. The wide-angle KZK equation is solved for the simulation of axisymmetric continuous wave beams in homogeneous or layered media. CREANUIS [16] encompasses a nonlinear wave solver based on the generalized angular spectrum method (GASM), as well as an image reconstruction scheme. The acoustic media can be considered inhomogeneous in terms of the nonlinearity coefficient. k-Wave [17] is designed for time-domain acoustic simulations in arbitrarily heterogeneous media. The coupled nonlinear first-order equations (momentum equation, mass conservation equation and the nonlinear pressure-density relation equation) are solved with the k-space time-domain method [18]. k-Wave has been used recently for numerous applications, such as HIFU [19], PAT [20], and neuromodulation [21]. Moreover, k-Wave is capable of modeling elastic waves [22]. However, k-Wave is based on time-domain methods and therefore can be computationally expensive for large-scale problems. A brief summary of some of the most widely used medical ultrasound simulation toolboxes can be found in TABLE I. Note that, there are also many wave solvers that are not publicly available but should be mentioned nonetheless. These include, but are not limited to Fullwave [23], FIHOWARD [24], HOWARD [25], the hybrid angular spectrum method [26], and the INCS method [27].
TABLE I.
SUMMARY FOR CONTEMPORARY MEDICAL ULTRASOUND SIMULATION TOOLBOXES
| Toolbox | Solution method | Nonlinearity | Heterogeneity |
|---|---|---|---|
| Abersim [28] | Operator-splitting method and ASA | Yes (Westervelt/KZK-based) | Random phase delays |
| CREANUIS [16] | GASM | Yes (Westervelt-based) | Inhomogeneous nonlinearity coefficients only |
| Field II [7] | Spatial impulse response | No | No |
| FOCUS [12] | FNM and ASA | Yes (KZK-based) | Layered media |
| HITU Simulator [14] | Operator-splitting | Yes (wide-angle KZK) | Layered media |
| k-Wave [17] | k-space time-domain method | Yes (Westervelt-based) | Arbitrary |
| KZK Bergen code [11] | Frequency-domain solution | Yes (KZK-based) | No |
| KZK Texas code[10] | Time-domain solution | Yes (KZK-based) | No |
| mSOUND | Mixed-domain method | Yes (Westervelt-based) | Arbitrary |
| SimSonic [13] | FDTD | No | Arbitrary |
Although there are many ultrasound modeling toolboxes available, they struggle to achieve both efficient and sufficiently accurate simulations for acoustic wave propagation in large-scale, arbitrarily heterogeneous media. Existing toolboxes face two enduring dilemmas: they are either very computationally efficient but not accurate due to invalid approximations, or they are very accurate but time-consuming and therefore impractical in many cases. To fill this gap, this paper introduces a new open source toolbox, mSOUND, for linear/nonlinear acoustic wave simulations in arbitrarily heterogeneous media. This toolbox is developed based on the generalized Westervelt equation. Unlike the conventional time-domain methods, the algorithm employed by mSOUND computes the acoustic field by marching in the spatial domain (along the axis normal to the transducer surface) and can be viewed as an extended version of the angular spectrum approach (also known as the wave-vector frequency-domain method [29]). The algorithm, when used to model wave propagation in heterogeneous media, jumps back and forth between the wave-vector domain and the real physical domain. It is therefore termed the mixed-domain method [30]. While this mixed-domain method intrinsically considers one-way propagation, we have made the wave solver flexible so that reflections up to a desired order can be modeled in an iterative manner under 1D approximation [31].
In the current version, mSOUND encompasses two computationally efficient methods for modeling acoustic wave propagation and they are the transient mixed domain method (TMDM) [30] and the frequency-specific mixed domain method (FSMDM) [32]. The TMDM generates the waveform at any point in space, while the FSMDM computes the steady-state pressure distribution directly at the frequencies of interest, which are the fundamental frequency and the second harmonics, assuming sinusoidal excitations. The latter should only be used if linear or weakly nonlinear wave propagation is considered. While the TMDM is advantageous for modeling pulsed-waves and arbitrary nonlinearity (from weakly nonlinear to strongly nonlinear wave propagation), FSMDM is more suitable for modeling continuous waves which are used in conventional HIFU. Backward propagation is also included in mSOUND and it operates with both the TMDM and FSMDM. With forward projection, the acoustic waveform or the steady-state pressure could be recorded at a given distance from the source plane, or more generally, any point in space. With backward projection, the recorded signals can be back-projected to reconstruct the source [29, 33], in a way similar to (but mathematically different from) the time-reversal operation [34].
This paper is organized as follows: the theoretical background for forward/backward propagation is introduced in Section II; Section III gives a brief overview of mSOUND; Section IV describes the simulation setup in mSOUND with three representative examples; Section V concludes the paper.
II. Theory
A. Forward Projection
We start from the generalized Westervelt equation, which reads [35]
| (1) |
where p the acoustic pressure, ρ the ambient density, c is the speed of sound, δ is the sound diffusivity [36], δ= ν(4/3+μB/μ+(γ − 1)/Pr)(μ is the shear viscosity, ν = μ/ρ is the kinematic viscosity, μB is the bulk viscosity, γ is the ratio of specific heats, and Pr is the Prandtl number), and β is the nonlinearity coefficient. We first transform (1) by applying the normalized wave field and the equation yields:
| (2) |
While this equation only accounts for frequency square absorption (thermoviscous losses), once transformed to the frequency domain, power-law absorption can be readily considered [29]. By performing the Fourier transform to (2) with respect to x, y and t, we have:
| (3) |
where is the Fourier transform of f, Fxy is the Fourier transform operator in x- and y-dimensions, Ft is the Fourier transform operator in the time domain, c0 is the background sound speed and , with kx and ky being the wavenumbers in x- and y-dimensions. An implicit, one-way propagation solution to (3) can be derived from the one-dimensional (1D) Green’s function in the form of an integral equation [29], such that
| (4) |
where
| (5) |
Equation (4) can be solved by using a Simpson-like rule [30]. In this algorithm, wave effects such as full-wave diffraction, attenuation, dispersion and nonlinearity are all considered. The Kramers-Kronig dispersion relation can be applied directly by replacing the speed of sound c with cp and [29], where is the sound speed at zero frequency [37], y is the power law exponent, α0 is the absorption in Np· MHz−y· m−1 and αo = αN P ω−y. In mSOUND, the input attenuation coefficient is α with unit dB· MHz−y· cm−1 and α = 868.6α0. When modeling wave propagation in strongly heterogeneous media (e.g., skulls), phase correction and amplitude compensation should be considered [38], with the maximum recommended sound-speed and density contrast being 2.0. The phase correction here should not to be confused with the correction for phase aberration: the original mixed-domain method suffers from phase errors, i.e., incorrect arrival time for the transient case, when modeling wave propagation in strongly heterogeneous media. A phase correction scheme has been proposed to remedy this issue [31]. Phase aberration correction, on the other hand, is a technique used to correct for the phase distortion due to the tissue heterogeneity and has been widely used to focus sound through phase aberrating layers. While equation (4) presents the solution for one-way propagation, it can be recognized that each order of reflection can be viewed as a one-way propagation, and as such, multiple reflections can be incorporated with the TMDM/FSMDM algorithm [31]. The order of reflection is defined as follows: assuming the incident wave travels mainly along the +z (+y) direction for the 3D (2D) case, the first order reflection is the reflected wave due to the interaction between the incident wave and the tissue, traveling along the −z (−y) direction. The second order reflection is the reflected wave due to the interaction between the first order reflection and the tissue, traveling along the +z (+y) direction. This definition can be generalized to higher order reflections. The model converges if enough reflections are included [31]. The main difference between the TMDM and FSMDM is that, while FSMDM computes the acoustic field at exactly the frequency of interest, TMDM computes the acoustic fields for all frequencies included in the spectrum of the excitation signal, therefore giving rise to transient results (waveforms).
B. Backward Projection
The pressure distribution on the source plane or any arbitrary plane can be reconstructed by using the backward projection. By changing z in (4) to −z [39], the backward projection algorithm can be obtained as
| (6) |
Equation (6) can be solved again with the Simpson-like scheme. When using the FSMDM for backward projection (only linear propagation is allowed in this case), this process requires the frequency-domain information of a sound field over a given plane as well the acoustic properties of the propagation medium. When implemented with the TMDM, the backward projection requires the time history of a sound field over a given plane as well as the acoustic properties of the medium. In this transient case, the backward projection can be understood as a process similar to time-reversal acoustics, where the sound wave is time-reversed and sent back toward the source. In transient backward projection, however, there is no need to time-reverse the wave. In addition, time-reversal is numerically implemented using time-marching schemes (e.g., finite-difference time-domain methods), while the backward projection is implemented using space-marching schemes.
III. mSOUND Toolbox
A. Overview of The Toolbox
Based on the theory presented in the previous section, mSOUND is capable of simulating forward and backward wave propagation in linear/nonlinear media with arbitrary heterogeneities. This toolbox is freely available at https://m-sound.github.io/mSOUND/home. There are four main categories included in mSOUND in terms of the wave solvers it provides:
Forward projection in one/two/three-dimensional heterogeneous media using the TMDM with the functions ForwardND (Forward1D, Forward2D and Forward3D).
Backward projection in one/two/three-dimensional heterogeneous media using the TMDM with the functions BackwardND (Backward1D, Backward2D and Backward3D).
Forward propagation in two/three-dimensional heterogeneous media using the FSMDM with the functions ForwardND_fund (Forward2D_ fund and Forward3D_fund) and ForwardND_sec (Forward2D_sec and Forward3D_sec).
Backward propagation in two/three-dimensional heterogeneous media using the FSMDM with the functions BackwardND_fund (Backward2D_ fund and Backward3D_fund).
Simulation setups for forward and backward projection are very similar, with the only major difference being that backward projection of the second harmonic pressure is not implemented in mSOUND. Thus, the functions are introduced in two categories in the following parts: simulations with the TMDM and simulations with the FSMDM. Examples are given in Section IV to demonstrate how to conduct simulations with these functions.
B. TMDM
The functions ForwardND should be used for forward projection when transient acoustic fields (waveforms) are desired. Five inputs are required when calling the functions ForwardND. These are mgrid, medium, source_p, sensor_mask and reflection_order. mgrid is a structure returned by the function set_grid and it defines the discretized computational domain. medium is also a structure containing spatially distributed speed of sound, density, nonlinear coefficient, attenuation coefficient, and power law exponent. source_p defines the excitation signal. sensor_mask defines the positions where the signals are to be recorded, and it is in the Cartesian coordinate system. reflection_order is the maximum order of reflection to be included in the simulation. Here, we point out that some of the inputs share the same names as those in k-Wave (such as sensor_mask). This is to help users who are familiar with k-Wave to smoothly transition to mSOUND. The functions ForwardND are based on solving equation (4) with the Simpson-like rule. The marching is along the main propagation direction (y for 2D and z for 3D) and users have the option to record the acoustic pressure at positions defined by sensor_mask. Several optional inputs are also available. For instance, the “correction” option enables more accurate modeling of wave propagation for strongly heterogeneous media. We recommend only using this option when necessary, since this option makes the computation slower and more memory-consuming. The “NRL” option adds non-reflecting layers to the computational domain in order to reduce the spatial aliasing error [40]. More details regarding the optional inputs are given in the next section. Figure 1 illustrates the simulation steps of the TMDM. Backward projection has the similar procedures of setting up a simulation with functions BackwardND.
Fig. 1.

Illustration of the simulation with the TMDM.
C. FSMDM
When computing the steady-state pressure field at the fundamental frequency (p_fundamental) with the FSMDM, assuming linear or weakly nonlinear wave fields, there are five required inputs for calling functions ForwardND_fund. They are: mgrid, medium, source_p, omega_c, and reflection_order. omega_c is the center frequency of the sinusoidal wave. sensor_mask is not needed in FSMDM since the acoustic field throughout the entire computational domain will be automatically recorded. When the FSMDM is used for the simulation of the second harmonic pressure, under the weakly nonlinear wave assumption, p_fundamental must be used as one of the required inputs for calling the functions ForwardND_sec. Though there is no well-established criterion, the weakly nonlinear condition is valid in mSOUND approximately when the amplitude of the 2nd harmonics is more than 15 dB lower than that of the fundamental frequency. The density heterogeneity is not automatically considered in ForwardND_sec. To account for the density heterogeneity, the optional input “correction” must be enabled, and the scattering due to the density variation will be considered in an empirical manner. Reflections are also not included in the second harmonics simulation. The simulation steps of FSMDM are illustrated in Fig. 2. Backward projection can be simulated with the functions BackwardND_fund. The major distinctions between TMDM and FSMDM are summarized in Table II. A flowchart (Fig. 3) is provided to show the structure of mSOUND. Important functions and variables are summarized in the tables provided in the appendix.
Fig. 2.

Illustration of the simulation with the FSMDM.
TABLE II.
SUMMARY OF THE DIFFERENCES BETWEEN TMDM AND FSMDM
| TMDM | FSMDM | |
|---|---|---|
| Nonlinearity | Arbitrary | Quasilinear (up to 2nd harmonics) |
| Excitation signal | Arbitrary waveform (real number) | Pressure at the frequency of interest (complex number) |
| Output | Transient wave field; receiver positions can be defined | Steady-state wave field; receivers populate the entire domain |
| Reflection | Included | Fundamental frequency: included 2nd harmonics: not included |
| Relative computation speed | Slow | Fast |
Fig. 3.

Flowchart of the mSOUND structure. * When ρ/c contrast ratio is larger than 1.05, correction is recommended. ** Multiple reflections can be added. The maximum order of reflection is recommended to be 2 for lossy biological media. *** Correction must be enabled if density heterogeneity is to be considered.
IV. mSOUND Simulation Examples
A. Forward Projection with TMDM
In the first example, a 2D multiple-layered media (shown in Fig. 4(a)) with heterogeneous density, speed of sound, attenuation coefficient and power law exponent is used to show how to set up simulations with the TMDM. A nonlinearity coefficient of 3.6 is used for the whole domain. A phased array is used to generate a focused beam. The schematic for the generation of a focused beam using a phased array can be found in Fig. 4(b). In mSOUND simulations, the spatial resolution (dx for 2D; dx and dy for 3D) and the marching step size (dy for 2D; dz for 3D) should in principle be a small fraction of the wavelength (e.g., 1/4 of the smallest wavelength) for stability and accuracy, and it is common to have a marching step size different from the spatial resolution. We recommend starting with 4 of the wavelength for both the marching step size and the spatial resolution. This is sufficient for most weakly nonlinear and soft tissue problems. The marching step size and spatial resolution (especially the former) should be reduced for strongly nonlinear problems and cases where the heterogeneity is strong (e.g., bones). For linear homogeneous media, however, the step size can be arbitrarily large. The temporal resolution should at least satisfy the Nyquist criteria. In practice, the best course of action is to have a convergence study conducted to determine the proper step size, spatial and temporal resolutions. The MATLAB syntax for this example is given below:
% define the computational domain dx = 5.3571e-04; % [m] dy = 1.3393e-04; % [m] dt = 1.7857e-07; % [s] x_length = 0.1050; % [m] y_length = 0.0750; % [m] t_length = 1.0286e-04; % [s] mgrid = set_grid(dt, t_length, dx, x_length, dy, y_length); % define the phased array fc = 0.7e6; % center frequency [Hz] TR_focus = 0.0686; % focal length [m] TR_radius = 0.0171; % transducer radius [m] medium.c0 = 1500; % reference speed of sound [m/s] delay = sqrt((mgrid.x).^2 + TR_focuŝ2)/medium.c0; % [s] delay = delay − min(delay); % define the excitation waveform p0 = 1; % [Pa] ts = [−4/fc:dt:4/fc].’; % excitation pulse length [s] delay = repmat(delay, length(ts), 1); ts = repmat(ts, 1, mgrid.num_x); source_p = p0*sin(2*pi*fc*(ts+delay)). *exp((ts+delay).^2*fĉ2/2); source_p(:, abs(mgrid.x)>TR_radius) = 0; % define the medium properties load layered.mat % the mat file can be downloaded from https://github.com/m-SOUND/mSOUND/blob/master/download/laye red.mat medium.c = c; % [m/s] medium.rho = rho; % [kg/m3] medium.beta = 3.6; medium.ca = ca; % [dB·MHz−ycm−1] medium.cb = cb; medium.NRL_gamma = 0.6; medium.NRL_alpha = 0.05; % define receivers and run the simulation sensor_mask = zeros(mgrid.num_x, mgrid.num_y+1); sensor_mask(:, 2:end) = 1; reflection_order = 2; p_time = Forward2D(mgrid, medium, source_p, sensor_mask, reflection_order, ‘NRL’); p_time = reshape(p_time, mgrid.num_t, mgrid.num_x, mgrid.num_y+1);
Fig. 4.

(a) A 2D heterogeneous layered medium for the simulation with TMDM. (b) Sketch of generating a focused beam with a phased array. (c) The waveform recorded at the transducer focus. Results are simulated with Forward2D.
The discrete computational domain is defined with the function set_grid. The spatial resolution (dx), temporal resolution (dt), marching step size (dy), and the computational domain size (x_length, y_length, t_length) are used to calculate the Cartesian coordinates and discrete wavenumbers for discrete Fourier transform (DFT). In mSOUND, a smaller time step size dt does not significantly affect the result once the Nyquist sampling rate is well satisfied. Moreover, there is no Courant-Friedrichs-Lewy (CFL) number to be satisfied in this algorithm since mSOUND is not based on time-domain method. The returned information is encapsulated in the structure mgrid. The excitation pressure source_p is indexed as (time, source_position).
Medium properties are defined within the structure medium. In 2D heterogeneous media, for example, medium.c, medium.rho, medium.beta, medium.ca and medium.cb are given as matrices with a size (mgrid.num_x, mgrid.num_y+1). mgrid.num_x and mgrid.num_y are the numbers of grid points in the x and y directions, respectively. In this case, the main wave propagation direction is the y-direction. The row number is mgrid.num_y+1 because the medium properties for the source plane also need to be provided. For 3D simulations, the medium properties should be given as matrices with a size (mgrid.num_x, mgrid.num_y, mgrid.num_z+1). However, for homogeneous media, the medium properties can be described by a single scalar. medium.c0 is the reference speed of sound and generally, it is chosen as the minimum value of medium.c.
sensor_mask and reflection_order are also required to call the function Forward2D. The sensor_mask contains the positions in Cartesian coordinates and is with a matrix size (mgrid.num_x, mgrid.num_y+1) with the recording positions marked with logical value 1, while other positions are marked with 0. If the sensor_mask is given as ones(mgrid.num_x, mgrid.num_y+1), the pressure field will be recorded throughout the entire domain, including the source plane. reflection_order indicates the maximum order of reflections to be included in the simulation. A large number of reflections in theory lead to more accurate results, albeit at the expense of computation time. This number is recommended to be 2 for lossy biological media in order to achieve the best tradeoff between accuracy and computation time [31].
In this example, the optional input ‘NRL’ is used, which stands for non-reflecting layers. If the non-reflecting layer is activated, two parameters medium.NRL_gamma and medium.NRL_alpha defining the non-reflecting layer must be given. The mathematical meaning of γ and α can be found in [40]. A large medium.NRL_gamma or a small medium.NRL_alpha means more energy will be absorbed and thus reducing the aliasing error. On the contrary, if medium.NRL_alpha is too small, the acoustic field becomes inaccurate due to excess absorption. In practice, the absorption coefficient of the non-reflecting layer should be plotted prior to wave simulations to determine the proper parameters. For simulations with large speed of sound or density contrast (contrast ratio being larger than 1.05), ‘correction’ is recommended and is used in the next example with the skull-like medium. ‘correction’ corrects both the phase and amplitude errors for strongly heterogeneous media using the algorithms described in [31]. If users would like to visualize the wave field as the simulation is progressing, the ‘animatio’ option can be enabled, which is only allowed for the TMDM. ‘record_animatio’ will record the animation and save the animation file as ‘animation.av’. ‘animatio’ and ‘record_animatio’ are not implemented for 1D simulations. For 3D simulations, the animation of the wave propagation is rendered along the xz plane (y = 0).
When all the required inputs are given, the simulation commences by calling the function Forward2D. A wait bar will display the progress of the simulation and helps the user estimate the simulation time. The recorded pressure field will be returned as a binary grid in the MATLAB’s standard column-wise linear index ordering and it is indexed as (mgrid.num_t, sensor_mask), where mgrid.num_t is the total points in time. The waveform recorded at the transducer focus is shown in Fig. 4(c).
For this example, the computation time is 101.3 seconds. The simulation is based on MATLAB 2018a (The MathWorks Inc., Natick, MA) with a 12-core 3.00-GHz Intel Xeon (R) Gold 6136 CPU (Intel Corp., Santa Clara, CA) processor and 192 GB of RAM. It is noted that, the computation time in general is a linear function of the reflection order [31].
B. Forward Projection with FSMDM
Simulations with FSMDM can directly output the pressure distributions at the frequencies of interest. A half-ring medium mimicking a skull (Fig. 5(a)) is presented below to illustrate the simulation with the forward projection functions Forward2D_fund and Forward2D_sec. In this case, the density, speed of sound and nonlinearity coefficient are all heterogeneous. A phased array is again used to generate the focused beam. The MATLAB syntax is shown below
% define the computational domain dx = 5.3571e-04; % [m] dy = 1.3393e-04; % [m] x_length = 0.1543; % [m] y_length = 0.0771; % [m] mgrid = set_grid(0, 0, dx, x_length, dy, y_length); % define the excitation signal fc = 0.7e6; % center frequency [Hz] p0 = 1.0e6; % excitation pulse magnitude [Pa] TR_focus = 0.0643; % focal length [m] TR_radius = 0.0161; % aperture radius [m] medium.c0 = 1500; % reference speed of sound [m/s] delay = sqrt((mgrid.x).^2 + TR_focuŝ2)/medium.c0; delay = delay − min(delay); source_p = p0*exp(1i*2*pi*fc*delay); % to form a circular transducer using truncation source_p(abs(mgrid.x)>TR_radius) = 0; % define the medium load annulus.mat % the mat file can be download from https://github.com/m-SOUND/mSOUND/blob/master/download/annulus.mat medium.c c; % [m/s] medium.rho= = rho; % [kg/m3] medium.beta = beta; medium.ca = 0.0; % [dB· MHz−ycm−1] medium.cb = 2.0; medium.NRL_gamma = 0.5; medium.NRL_alpha = 0.03; % run the simulation omegac = fc*2*pi; reflection_order = 4; P_fundamental = Forward2D_fund(mgrid, medium, source_p, omega_c, reflection_order, ‘correction’, ‘NRL’); P_second = Forward2D_sec(mgrid, medium, P_fundamental, omega_c, ‘correction’, ‘NRL’);
Fig. 5.

(a) a 2D heterogeneous skull-like medium for the simulation with FSMDM. Pressure distributions (b) at the fundamental frequency and (c) at the second-harmonic frequency. Results are simulated with Forward2D_fund and Forwad2D_sec functions, respectively.
In FSMDM, any arbitrary values can be set for the time step and temporal domain size since they are not used. Here, we set them to 0. When the basic inputs: mgrid, medium, source_p, omega_c and reflection_order are given, Forward2D_fund can be called upon to generate P_fundamental, which is the pressure at the fundamental frequency (or the center frequency, if linear wave propagation is assumed). P_fundamental is then used as one of the required inputs to call the function Forward2D_sec for calculating the second harmonic wave field. ‘correction’ and ‘NRL’ are two optional inputs for both the function Forward2D_fund and Forward2D_sec. The pressure fields at the fundamental and second harmonics are shown in Figs. 5(b–c). The computation time is 3.9 seconds for this example.
C. Backward Projection with TMDM
mSOUND is also capable of propagating the pressure field backward toward the source, which can be useful for near-field acoustical holography [41], sound focusing in heterogeneous media [42], PAT, and passive cavitation mapping [43]. In PAT, for example, short-pulses of laser are first delivered into biological tissues, which are to be absorbed by the tissue, particularly the blood vessels. Ultrasonic waves are consequently produced via thermo-elastic expansion. By projecting the ultrasonic wave backward toward the tissue (in a way similar to time-reversal [21, 44, 45]), the initial ultrasonic pressure distribution can be recognized, rendering an image with optical contrast.
To demonstrate the application for PAT, an initial pressure distribution with the ‘mSOUND’ shape is used in this paper for the illustration of backward projection. The forward propagation of the emitted ultrasonic wave from the source is first simulated with the k-Wave toolbox. The received signals are backward projected with the mSOUND toolbox for the initial source image reconstruction. In this case, Backward2D is used. The definitions of ‘mgrid’, ‘medium’ and ‘sensor_mask’ are similar to those in forward projection. The ‘source_p’ required for the function Backward2D is the signal recorded at the right boundary of Fig. 6(a), generated by k-Wave. The details of the simulation setup for this example can be found from the mSOUND website (https://m-sound.github.io/mSOUND/Backward_TMDM) and the syntax is not provided here to save space. Figure 6(b) shows the reconstructed source distribution with the time-reversal algorithm in k-Wave and Fig. 6(c) shows the result with the backward projection in mSOUND. The two results look virtually identical. A more quantitative examination is provided in Fig. 6(d). The L2-norm error of mSOUND using kWave as the benchmark is calculated to be 0.23. For this example, under the same spatial and temporal resolutions (dx=dy=0.134 mm; dt=0.0223 μs), the computation times are 38.9 seconds and 10.8 seconds for k-Wave and mSOUND, respectively. In fact, mSOUND can obtain virtually the same result using a much larger dt, e.g., 0.0892 μs, further reducing the computation time to 3.8 seconds.
Fig. 6.

(a) Ground truth. Image reconstruction using (b) the time-reversal method in k-Wave and (c) the backward projection method in mSOUND. (d) Pixel values along the dashed line drawn in (a) are compared between k-Wave and mSOUND.
While in this case where the medium is homogeneous, mSOUND seems to be more computationally efficient than k-Wave for back-propagation-based image reconstruction, we do not claim that mSOUND is always more advantageous for PAT. For example, since mSOUND only considers planar transducers (see the next section for additional discussions), k-Wave will be a better option for arrays with non-planar geometries, e.g., curved arrays. Additionally, k-Wave could provide more accurate results for strongly heterogeneous media. We have in fact compared the algorithms of mSOUND with k-Wave extensively in [30][31]. In terms of computational efficiency, mSOUND is at its best when modeling the steady-state wave field of a heterogeneous medium using FSMDM, as it can be 2 orders of magnitude faster than k-Wave with a slight sacrifice on the accuracy. Another scenario where mSOUND can be considered computationally advantageous is when modeling transient wave propagation (TMDM) in weakly heterogeneous media, where reflections can be neglected [31].
D. Other Examples
While this paper has presented three examples of simulations using mSOUND, the website currently offers a total of 16 examples and this number will continue to grow as we keep developing and improving mSOUND. For example, mSOUND can be used in concert with existing ultrasound modeling toolboxes for more accurate simulations and a more extended range of applications. Currently, mSOUND assumes that the transducer is planar with arbitrary shapes, e.g., square, circular, etc.). Though phased array can be used for mimicking curved transducers in mSOUND, users have the option to first use k-Wave (or other software such as FOCUS or Field II) to propagate the wave from a curved transducer for a small distance, and subsequently use the pressure recorded in front of the transducer as the input in mSOUND. One such example is provided in the example section on the mSOUND website, titled “Integrating mSOUND with k-Wave for transducers of curved shape”. While this paper presents examples of 2D simulations, mSOUND is fully capable of 3D simulations, demonstrated by a number of examples on the website (e.g., “Simulation of a 3D heterogeneous medium using the frequency-specific mixed domain method”). mSOUND currently does not have a module for solving the bio-heat transfer equation. Users can obtain the pressure field first using the FSMDM at the frequency of interest, and then use that as the input in k-Wave or HIFU-simulator to conduct thermal simulations. One example pertaining to this, titled “Integrating mSOUND with k-Wave for thermal simulations”, is provided on the website. mSOUND currently does not have a shock-wave capturing algorithm and therefore, is not ideal for modeling shock waves in the context of lithotripsy or histotripsy. If shock wave modeling is still desired, artificial attenuation needs to be added to prevent the Gibbs effect [46] while keeping the computation load to a reasonable amount. This is shown by the example “Shock wave simulation with TMDM”.
V. Conclusion
mSOUND is a user-friendly toolbox for the simulation of acoustic wave propagation in heterogeneous media. mSOUND can output the waveform at any point in space as well as efficiently generate the steady-state pressure distribution at the frequencies of interest. Three examples are used to explain how to set up simulations with this toolbox. mSOUND can be used as a stand-alone toolbox or in conjunction with other ultrasound toolboxes. We envision that this new toolbox can assist ultrasound researchers to tackle a variety of problems: to study the phase aberration in tissue [47], imaging reconstruction in PAT, ultrasound waveform tomography [48], data generation for machine learning [49], among others. In the future, we would also like to further improve mSOUND by leveraging the high computational capability of graphic processing units (GPUs) to deliver fast, accurate and versatile ultrasound modeling solutions.
TABLE III.
SUMMARY FOR INPUTS IN FUNCTION SET_GRID
| INPUT | DESCRIPTION |
|---|---|
| dx | spatial step size in the x direction [m] |
| dy | spatial step size in the y direction [m] |
| dz | spatial step size in the z direction [m] |
| dt | temporal step size [s] |
| x_length | spatial domain size in the x direction [m] |
| y_length | spatial domain size in the y direction [m] |
| z_length | spatial domain size in the z direction [m] |
| t_length | temporal domain size [s] |
TABLE IV.
SUMMARY FOR OUTPUTS IN FUNCTION SET_GRID
| OUTPUT | DESCRIPTION |
|---|---|
| mgrid.x | coordinates in the x direction [m] |
| mgrid.y | coordinates in the y direction [m] |
| mgrid.z | coordinates in the z direction [m] |
| mgrid.t | evenly spaced time array [s] |
| mgrid.kx | wavevector in the x direction |
| mgrid.ky | wavevector in the y direction |
| mgrid.w | angular frequency |
| mgrid.num_x | number of grid points in the x direction |
| mgrid.num_y | number of grid points in the y direction |
| mgrid.num_z | number of grid points in the z direction |
| mgrid.num_t | number of sampling point in time |
TABLE V.
SUMMARY FOR INPUTS AND OUTPUTS IN FUNCTION FORWARD3D
| INPUT | DESCRIPTION |
|---|---|
| mgrid | structure returned by set_grid |
| medium | input structure including the medium properties |
| source_p | excitation signal [Pa] |
| sensor_mask | a set of Cartesian points where the waveform is recorded |
| reflection_order | the maximum order of reflection included in the simulation |
| OPTIONAL INPUT | DESCRIPTION |
| ‘correction’ | apply phase and amplitude corrections for strongly heterogeneous media |
| ‘NRL’ | apply the non-reflecting layer |
| ‘animation’ | play the animation during the simulation |
| mgrid.num_t | number of sampling point in time |
| OUTPUT | DESCRIPTION |
| pressure | Time-domain results recorded at the sensor positions given by sensor_mask |
TABLE VI.
SUMMARY FOR INPUTS AND OUTPUTS IN FUNCTION FORWARD3D_FUND
| INPUT | DESCRIPTION |
|---|---|
| mgrid | structure returned by set_grid |
| medium | input structure including the medium properties |
| source_p | excitation signal [Pa] |
| omega_c | center frequency [rad] |
| OPTIONAL INPUT | DESCRIPTION |
| ‘correction’ | apply phase and amplitude corrections for strongly heterogeneous media |
| ‘NRL’ | apply the non-reflecting layer |
| OUTPUT | DESCRIPTION |
| pressure | Pressure field distribution at the center frequency |
TABLE VII.
SUMMARY FOR INPUTS AND OUTPUTS IN FUNCTION FORWARD3D_SEC
| INPUT | DESCRIPTION |
|---|---|
| mgrid | structure returned by set_grid |
| medium | input structure including the medium properties |
| P_fundamental | pressure at the center frequency [Pa] |
| omega_c | center frequency [rad] |
| OPTIONAL INPUT | DESCRIPTION |
| ‘correction’ | apply phase and amplitude corrections for strongly heterogeneous media |
| ‘NRL’ | apply the non-reflecting layer |
| OUTPUT | DESCRIPTION |
| pressure | Pressure field distribution at the second harmonics |
TABLE VIII.
SUMMARY FOR INPUTS AND OUTPUTS IN FUNCTION IN BACKWARD3D
| INPUT | DESCRIPTION |
|---|---|
| mgrid | structure returned by set_grid |
| medium | input structure including the medium properties |
| source_p | pressure field to be backward propagated |
| sensor_mask | a set of Cartesian points where the waveform is recorded |
| reflection_order | the maximum order of reflection included in the simulation |
| OPTIONAL INPUT | DESCRIPTION |
| ‘correction’ | apply phase and amplitude corrections for strongly heterogeneous media |
| ‘no_refl_correction’ | turnoff the reflection correction in backward propagation |
| ‘NRL’ | apply the non-reflecting layerr |
| ‘animation’ | play the animation during the simulation |
| ‘record_animation’ | record the animation |
| OUTPUT | DESCRIPTION |
| pressure | Time-domain results recorded at the sensor positions given by sensor_mask |
TABLE IX.
SUMMARY FOR INPUTS AND OUTPUTS IN FUNCTION BACKWARD3D_FUND
| INPUT | DESCRIPTION |
|---|---|
| mgrid | structure returned by set_grid |
| medium | input structure including the medium properties |
| source_p | pressure field to be backward propagated |
| omega_c | center frequency [rad] |
| reflection_order | the maximum order of reflection included in the simulation |
| OPTIONAL INPUT | DESCRIPTION |
| ‘correction’ | apply phase and amplitude corrections for strongly heterogeneous media |
| ‘no_refl_correction’ | turnoff the reflection correction in backward propagation |
| ‘NRL’ | apply the non-reflecting layer |
| OUTPUT | DESCRIPTION |
| pressure | Pressure field distribution at the center frequency |
Acknowledgments
This work was supported by the U.S. National Institutes of Health under Grant R01EB025205.
VI. Appendix
set_grid function, 3D functions and relevant variables with their definitions are summarized in the following tables. To save space, 1D and 2D functions are not listed here, as they have similar definitions as these 3D functions. Detailed description for all functions can be found from https://m-sound.github.io/mSOUND/function.
References
- [1].Pinton GF, Trahey GE, and Dahl JJ, “Sources of image degradation in fundamental and harmonic ultrasound imaging using nonlinear, fullwave simulations,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 58, no. 4, 2011. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [2].Yin X and Hynynen K, “A numerical study of transcranial focused ultrasound beam propagation at low frequency,” Physics in Medicine & Biology, vol. 50, no. 8, p. 1821, 2005. [DOI] [PubMed] [Google Scholar]
- [3].Mohanty K, Mahajan S, Pinton G, Muller M, and Jing Y, “Observation of self-bending and focused ultrasound beams in the megahertz range,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 65, no. 8, pp. 1460–1467, 2018. [DOI] [PubMed] [Google Scholar]
- [4].Canney MS, Bailey MR, Crum LA, Khokhlova VA, and Sapozhnikov OA, “Acoustic characterization of high intensity focused ultrasound fields: A combined measurement and modeling approach,”The Journal of the Acoustical Society of America, vol. 124, pp. 2406–2420, 2008. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [5].Clement G and Hynynen K, “Field characterization of therapeutic ultrasound phased arrays through forward and backward planar projection,” The Journal of the Acoustical Society of America, vol. 108, no. 1, pp. 441–446, 2000. [DOI] [PubMed] [Google Scholar]
- [6].Ghanem MA et al. , “Field characterization and compensation of vibrational nonuniformity for a 256-element focused ultrasound phased array,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 65, no. 9, pp. 1618–1630, 2018. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [7].Jensen JA, “Field: A program for simulating ultrasound systems,” in 10TH NORDICBALTIC CONFERENCE ON BIOMEDICAL IMAGING, VOL. 4, SUPPLEMENT 1, PART 1: 351.–, 1996: Citeseer. [Google Scholar]
- [8].Jensen JA, “A multi-threaded version of Field II,” in 2014 IEEE International Ultrasonics Symposium, 2014: IEEE, pp. 2229–2232. [Google Scholar]
- [9].Synnevag JF, Austeng A, and Holm S, “Adaptive beamforming applied to medical ultrasound imaging,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 54, no. 8, pp. 1606–1613, 2007. [PubMed] [Google Scholar]
- [10].Cleveland RO, Hamilton MF, and Blackstock DT, “Time-domain modeling of finite-amplitude sound in relaxing fluids,” The Journal of the Acoustical Society of America, vol. 99, no. 6, pp. 3312–3318, 1996. [Google Scholar]
- [11].Berntsen J, “Numerical calculations of finite amplitude sound beams,” Frontiers of nonlinear acoustics, pp. 191–196, 1990. [Google Scholar]
- [12].McGough RJ, “Rapid calculations of time-harmonic nearfield pressures produced by rectangular pistons,” The Journal of the Acoustical Society of America, vol. 115, no. 5, pp. 1934–1941, 2004. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [13].Bossy E, Talmant M, and Laugier P, “Three-dimensional simulations of ultrasonic axial transmission velocity measurement on cortical bone models,” The Journal of the Acoustical Society of America, vol. 115, no. 5, pp. 2314–2324, 2004. [DOI] [PubMed] [Google Scholar]
- [14].Soneson JE, “A user-friendly software package for HIFU simulation,” in AIP Conference Proceedings, 2009, vol. 1113, no. 1: AIP, pp. 165–169. [Google Scholar]
- [15].Soneson JE, “Extending the utility of the parabolic approximation in medical ultrasound using wide-angle diffraction modeling,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 64, no. 4, pp. 679–687, 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [16].Varray F, Basset O, Tortoli P, and Cachard C, “CREANUIS: a non-linear radiofrequency ultrasound image simulator,” Ultrasound in medicine & biology, vol. 39, no. 10, pp. 1915–1924, 2013. [DOI] [PubMed] [Google Scholar]
- [17].Treeby BE and Cox BT, “k-Wave: MATLAB toolbox for the simulation and reconstruction of photoacoustic wave fields,” Journal of biomedical optics, vol. 15, no. 2, pp. 021314–021314–12, 2010. [DOI] [PubMed] [Google Scholar]
- [18].Treeby BE, Jaros J, Rendell AP, and Cox B, “Modeling non-linear ultrasound propagation in heterogeneous media with power law absorption using ak-space pseudospectral method,” The Journal of the Acoustical Society of America, vol. 131, no. 6, pp. 4324–4336, 2012. [DOI] [PubMed] [Google Scholar]
- [19].Suomi V, Jaros J, Treeby B, and Cleveland RO, “Full modeling of high-intensity focused ultrasound and thermal heating in the kidney using realistic patient models,” IEEE Transactions on Biomedical Engineering, vol. 65, no. 5, pp. 969–979, 2017. [DOI] [PubMed] [Google Scholar]
- [20].Treeby BE, Zhang EZ, and Cox BT, “Photoacoustic tomography in absorbing acoustic media using time reversal,” Inverse Problems, vol. 26, no. 11, p. 115003, 2010. [Google Scholar]
- [21].Robertson JL, Cox BT, Jaros J, and Treeby BE, “Accurate simulation of transcranial ultrasound propagation for ultrasonic neuromodulation and stimulation,” The Journal of the Acoustical Society of America, vol. 141, no. 3, pp. 1726–1738, 2017. [DOI] [PubMed] [Google Scholar]
- [22].Treeby BE and Saratoon T, “The contribution of shear wave absorption to ultrasound heating in bones: Coupled elastic and thermal modeling,” in 2015 IEEE International Ultrasonics Symposium (IUS), 2015: IEEE, pp. 1–4. [Google Scholar]
- [23].Pinton GF, Dahl J, Rosenzweig S, and Trahey GE, “A heterogeneous nonlinear attenuating full-wave model of ultrasound,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 56, no. 3, 2009. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [24].Luquet D, “3D simulation of acoustical shock waves propagation through a turbulent atmosphere. Application to sonic boom,” 2016. [Google Scholar]
- [25].Dagrau F, Rénier M, Marchiano R, and Coulouvrat F, “Acoustic shock wave propagation in a heterogeneous medium: A numerical simulation beyond the parabolic approximation,” The Journal of the Acoustical Society of America, vol. 130, no. 1, pp. 20–32, 2011. [DOI] [PubMed] [Google Scholar]
- [26].Vyas U and Christensen D, “Ultrasound beam simulations in inhomogeneous tissue geometries using the hybrid angular spectrum method,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 59, no. 6, pp. 1093–1100, 2012. [DOI] [PubMed] [Google Scholar]
- [27].Huijssen J and Verweij MD, “An iterative method for the computation of nonlinear, wide-angle, pulsed acoustic fields of medical diagnostic transducers,” The Journal of the Acoustical Society of America, vol. 127, no. 1, pp. 33–44, 2010. [DOI] [PubMed] [Google Scholar]
- [28].Frijlink ME, Kaupang H, Varslot T, and Masoy S-E, “Abersim: A simulation program for 3D nonlinear acoustic wave propagation for arbitrary pulses and arbitrary transducer geometries,” in 2008 IEEE Ultrasonics Symposium, 2008: IEEE, pp. 1282–1285. [Google Scholar]
- [29].Jing Y, Tao M, and Clement GT, “Evaluation of a wave-vector-frequency-domain method for nonlinear wave propagation,” The Journal of the Acoustical Society of America, vol. 129, no. 1, pp. 32–46, 2011. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [30].Gu J and Jing Y, “Numerical Modeling of Ultrasound Propagation in Weakly Heterogeneous Media Using a Mixed Domain Method,” IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control, 2018. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [31].Gu J and Jing Y, “A modified mixed domain method for modeling acoustic wave propagation in strongly heterogeneous media,” The Journal of the Acoustical Society of America, vol. 147, no. 6, pp. 4055–4068, 2020. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [32].Gu J and Jing Y, “Simulation of the Second Harmonic Ultrasound Field in Heterogeneous Soft Tissue Using a Mixed Domain Method,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, 2019. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [33].Jing Y, Cannata J, and Wang T, “Experimental verification of transient nonlinear acoustical holography,” The Journal of the Acoustical Society of America, vol. 133, no. 5, pp. 2533–2540, 2013. [DOI] [PubMed] [Google Scholar]
- [34].Jing Y, Meral FC, and Clement GT, “Time-reversal transcranial ultrasound beam focusing using a k-space method,” Physics in medicine and biology, vol. 57, no. 4, p. 901, 2012. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [35].Gu J and Jing Y, “Modeling of wave propagation for medical ultrasound: a review,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 62, no. 11, pp. 1979–1992, 2015. [DOI] [PubMed] [Google Scholar]
- [36].Hamilton MF and Blackstock DT, Nonlinear acoustics. Academic press; San Diego, 1998. [Google Scholar]
- [37].Zhao X and McGough RJ, “Time-domain comparisons of power law attenuation in causal and noncausal time-fractional wave equations,” The Journal of the Acoustical Society of America, vol. 139, no. 5, pp. 3021–3031, 2016. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [38].Gu J and Jing Y, “A Modified Mixed Domain Method for Modeling Wave Propagation in Heterogeneous Media,” in 2018 IEEE International Ultrasonics Symposium (IUS), 2018: IEEE, pp. 1–9. [Google Scholar]
- [39].Clement GT, “Spatial backward planar projection in absorbing media possessing an arbitrary dispersion relation,” Acoustical science and technology, vol. 31, no. 6, pp. 379–386, 2010. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [40].Jing Y, “On the use of an absorption layer for the angular spectrum approach (L),” The Journal of the Acoustical Society of America, vol. 131, no. 2, pp. 999–1002, 2012. [DOI] [PubMed] [Google Scholar]
- [41].Maynard JD, Williams EG, and Lee Y, “Nearfield acoustic holography: I. Theory of generalized holography and the development of NAH,” The Journal of the Acoustical Society of America, vol. 78, no. 4, pp. 1395–1413, 1985. [Google Scholar]
- [42].Clement G and Hynynen K, “A non-invasive method for focusing ultrasound through the human skull,” Physics in Medicine & Biology, vol. 47, no. 8, p. 1219, 2002. [DOI] [PubMed] [Google Scholar]
- [43].Arvanitis CD, Crake C, McDannold N, and Clement GT, “Passive Acoustic Mapping with the Angular Spectrum Method,” IEEE transactions on medical imaging, vol. 36, no. 4, pp. 983–993, 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [44].Burgholzer P, Matt GJ, Haltmeier M, and Paltauf G, “Exact and approximative imaging methods for photoacoustic tomography using an arbitrary detection surface,” Physical Review E, vol. 75, no. 4, p. 046706, 2007. [DOI] [PubMed] [Google Scholar]
- [45].Hristova Y, Kuchment P, and Nguyen L, “Reconstruction and time reversal in thermoacoustic tomography in acoustically homogeneous and inhomogeneous media,” Inverse Problems, vol. 24, no. 5, p. 055006, 2008. [Google Scholar]
- [46].Jing Y, Tao M, and Cannata J, “An improved wave-vector frequency-domain method for nonlinear wave modeling,” IEEE transactions on ultrasonics, ferroelectrics, and frequency control, vol. 61, no. 3, pp. 515–524, 2014. [DOI] [PubMed] [Google Scholar]
- [47].Tabei M, Mast TD, and Waag RC, “Simulation of ultrasonic focus aberration and correction through human tissue,” The Journal of the Acoustical Society of America, vol. 113, no. 2, pp. 1166–1176, 2003. [DOI] [PubMed] [Google Scholar]
- [48].Sandhu G, Li C, Roy O, Schmidt S, and Duric N, “Frequency domain ultrasound waveform tomography: breast imaging using a ring transducer,” Physics in medicine and biology, vol. 60, no. 14, p. 5381, 2015. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [49].Hart CR, Wilson D, Pettit CL, and Nykaza ET, “Machine-learning models for the prediction of long-range outdoor sound propagation,” The Journal of the Acoustical Society of America, vol. 139, no. 4, pp. 2069–2069, 2016. [DOI] [PubMed] [Google Scholar]
