Photoacoustic image reconstruction using backward projection
In photoacoustic tomography (PAT), laser pulses are delivered into biological tissue, which are to be absorbed, particularly by the blood vessels. Ultrasonic waves are consequently produced via thermo-elastic expansion. By projecting the ultrasonic wave backward toward the tissue, the initial ultrasonic pressure distribution can be recognized, rendering a photoacoustic image. The process of backward projection is similar to time-reversal. However, as opposed to marching in the time-domain, the backward projection marches in the direction normal to the receiver plane. Additionally, there is no need to reverse the signal in time in the process of backward projection. The forward propagation of the emitted ultrasonic wave from the source is simulated with the k-Wave toolbox. The received signals are backward projected with the mSOUND toolbox for the image reconstruction.
Forward propagation with k-Wave
The forward propagation of the emitted ultrasonic wave from the source is simulated with the k-Wave toolbox. An initial source with the ‘mSOUND’ shape is used in this example.
% define the computational domain
Nx = 800; % number of grid points in the x-direction
Ny = 300; % number of grid points in the y-direction
dx = 1.3393e-04; % [m]
dy = 1.3393e-04; % [m]
kgrid = makeGrid(Nx, dx, Ny, dy);
dt = 1.1161e-08; % [s]
kgrid.t_array = 0:dt:3.4286e-05;
% assign the properties of the propagation medium
medium.sound_speed = 1500*ones(Nx, Ny);
medium.BonA = 2.0*(0-1.0);
medium.density = 1000*ones(Nx, Ny);
medium.alpha_coeff = 0.0;
medium.alpha_power = 2.0;
% define source and sensor
load mSOUND_logo.mat % load the initial source distribution
p0 = 1;
source.p = p0;
source.p_mask = s;
sensor.mask = zeros(Nx, Ny);
sensor.mask(:, 250) = 1;
% excitation signal
sample_freq = 1/dt; [Hz]
signal_freq = 1e6; [Hz]
source_mag = p0; [Pa]
% set the input options
input_args = {'DisplayMask', sensor.mask, 'DataCast', 'single',...
'PlotScale',[-source_mag/2, source_mag/2]};
sensor.record = {'p'};
% run the simulation with k-Wave
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor, input_args{:});
kwave_P_time = reshape(sensor_data.p, Nx, length(kgrid.t_array));
Backward simulation
The source_p required for the function Backward2D is the signals recorded on the linear array located at the right boundary of Figure (a) above, generated by k-Wave.
clear medium
medium.c0 = 1500; % reference speed of sound [m/s]
% define the computational domain
num_x = Nx; % number of grid points in the x-direction
num_y = 200; % number of grid points in the y-direction
dt = 8*dt; % time step in TMDM [s]
x_length = num_x*dx;
y_length = num_y*dy;
t_length = kgrid.t_array(end);
mgrid = set_grid(dt, t_length, dx, x_length, dy, y_length);
% define the computational domain
source_p = kwave_P_time(:, 1:8:end).';
% assign the properties of the propagation medium
medium.c = 1500;
medium.rho = 1000;
medium.beta = 0;
medium.ca = 0;
medium.cb = 2.0;
medium.NRL_gamma = 0.9;
medium.NRL_alpha = 0.009;
% backward projection with TMDM to reconstruct the initial source distribution
sensor_mask = ones(mgrid.num_x, mgrid.num_y+1);
p = Backward2D(mgrid, medium, source_p, sensor_mask, 0, 'NRL');
Figure (b) below shows the reconstructed image with the time-reversal algorithm in k-Wave and
Fig. (c) below shows the reconstructed image using the backward projection in mSOUND.
There is a fine agreement between these two results.
Other examples
·
Simulation of a 2D homogeneous medium using the transient mixed domain method
·
Simulation of a 2D heterogeneous medium using the transient mixed domain method
·
Simulation of a strongly 2D heterogeneous medium using the transient mixed domain method
·
Simulation of a 3D homogeneous medium using the transient mixed domain method
·
Selecting the proper temporal domain size for the TMDM
·
Shock wave simulations with TMDM
·
Simulation of a 2D homogeneous medium using the frequency-specific mixed domain method
·
Simulation of a 2D heterogeneous medium using the frequency-specific mixed domain method
·
Simulation of a 3D homogeneous medium using the frequency-specific mixed domain method
·
Simulation of a 3D heterogeneous medium using the frequency-specific mixed domain method
·
Reducing the spatial aliasing error using the non-reflecting layer
·
Comparing pressure release and rigid boundary conditions
·
Image reconstruction using backward projection
·
Reconstruction of the source pressure distribution with FSMDM in a 3D homogeneous medium
·
Integrating mSOUND with k-Wave for transducers of arbitrary shape
·
Integrating mSOUND with FOCUS for transducers of arbitrary shape
·
Integrating mSOUND with k-Wave for thermal simulations