k-Wave Toolbox |
![]() ![]() |
On this page… |
---|
This example demonstrates the use of k-Wave for the time-reversal reconstruction of a three-dimensional photoacoustic wave-field recorded over a spherical sensor.
The sensor data is simulated and then time-reversed using kspaceFirstOrder3D
.
It builds on the 2D Time Reversal Reconstruction For A Circular Sensor and 3D Time Reversal Reconstruction For A Planar Sensor examples.
The sensor data is simulated using kspaceFirstOrder3D
with an initial pressure distribution created using makeBall
.
A Cartesian sensor mask of 100 points evenly distributed around a sphere (using the Golden Section Spiral method) is created using makeCartSphere
.
A visualisation of the initial pressure and the sensor mask using cart2grid
and voxelPlot
is shown below.
A plot of the initial pressure distribution and the reconstructed distribution using time-reversal are shown below (the three displayed image planes intersect at the centre of ball shown above). The plot scale for the reconstructed image has the plot limits reduced by a factor of 20.
The reconstruction can again be improved by interpolating the sensor data onto a continuous sensor surface. This is achieved using interpCartData
and a binary sensor mask of a continuous sphere (created here using makeSphere
) that is spatially equivalent to the Cartesian measurement grid. This function calculates the equivalent time-series at the sensor positions on the binary sensor mask from those on the Cartesian sensor mask via interpolation (nearest neighbour is used by default).
% create a binary sensor mask of an equivalent continuous sphere pixel_radius = round(sensor_radius/kgrid_recon.dx); binary_sensor_mask = makeSphere(kgrid_recon.Nx, kgrid_recon.Ny, kgrid_recon.Nz, pixel_radius); % interpolate data to remove the gaps and assign to time reversal data sensor.time_reversal_boundary_data = interpCartData(kgrid_recon, sensor_data, sensor_mask, binary_sensor_mask);
Details of the interpolation are printed to the command line.
Interpolating Cartesian sensor data... interpolation mode: nearest number of Cartesian sensor points: 100 number of binary sensor points: 4234 computation completed in 0.075839s
The reconstruction after interpolation is shown below. The plot limits are set to match those of the initial pressure plot shown above.
![]() |
3D Time Reversal Reconstruction For A Planar Sensor | Image Reconstruction With Directional Sensors | ![]() |
© 2009-2014 Bradley Treeby and Ben Cox.