Hi, Dr. Cox and Dr. Treeby,

I found that I cannot use time-reversal algorithm to exactly reconstruct images in 1D. The codes I used are as following:

clear

Nx = 128;

dx = 0.05e-3;

kgrid = makeGrid(Nx, dx);

medium.sound_speed = 1500*ones(Nx, 1);

medium.density = 1000*ones(Nx, 1);

x_pos = 54;

width = 20;

height = 1;

in = 0:pi/(width/2):2*pi;

source.p0 = [zeros(x_pos,1); ((height/2)*sin(in-pi/2)+(height/2)).'; zeros(Nx - x_pos - width - 1, 1)];

sensor.mask = [-1e-3 1e-3];

[kgrid.t_array, dt] = makeTime(kgrid, medium.sound_speed);

pd = kspaceFirstOrder1D(kgrid, medium, source, sensor, 'PMLSize', 20, 'PlotSim', false, 'Smooth', false);

source.p0 = 0;

sensor.time_reversal_boundary_data = pd;

r = kspaceFirstOrder1D(kgrid, medium, source, sensor, 'PMLSize', 20, 'PlotSim', false, 'Smooth', false);

Do you have idea why it's like this?

Thank you very much!

Best,

Chao