<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>k-Wave User Forum &#187; Topic: Why is 3D TR reconstruction in heterogeneous medium so bad?</title>
		<link>http://www.k-wave.org/forum/topic/why-is-3d-tr-reconstruction-in-heterogeneous-medium-so-bad</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 13 May 2026 02:33:20 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://www.k-wave.org/forum/search.php</link>
		</textInput>
		<atom:link href="http://www.k-wave.org/forum/rss/topic/why-is-3d-tr-reconstruction-in-heterogeneous-medium-so-bad" rel="self" type="application/rss+xml" />

		<item>
			<title>wang mengxiao on "Why is 3D TR reconstruction in heterogeneous medium so bad?"</title>
			<link>http://www.k-wave.org/forum/topic/why-is-3d-tr-reconstruction-in-heterogeneous-medium-so-bad#post-6503</link>
			<pubDate>Mon, 25 Jun 2018 16:59:06 +0000</pubDate>
			<dc:creator>wang mengxiao</dc:creator>
			<guid isPermaLink="false">6503@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Foufour,&#60;/p&#62;
&#60;p&#62;Thanks for your reply. I tried image reconstruction in a homogeneous medium, it is just better than reconstruction in heterogeneous medium. But it's still not good enough,especially many slices in the middle.&#60;br /&#62;
so if you have any other comments/suggestions. Thank you very much.&#60;/p&#62;
&#60;p&#62;Sincerely,&#60;br /&#62;
Mengxiao
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Foufour on "Why is 3D TR reconstruction in heterogeneous medium so bad?"</title>
			<link>http://www.k-wave.org/forum/topic/why-is-3d-tr-reconstruction-in-heterogeneous-medium-so-bad#post-6495</link>
			<pubDate>Thu, 21 Jun 2018 17:28:52 +0000</pubDate>
			<dc:creator>Foufour</dc:creator>
			<guid isPermaLink="false">6495@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Dear Mengxiao,&#60;/p&#62;
&#60;p&#62;what I definitely expect to be a problem for image reconstruction is the limited view of your planar detector. (You can read about the limited view problem in the k-Wave online documentation)&#60;/p&#62;
&#60;p&#62;Or did you get better results in a homogeneous medium (since you were referring to heterogeneities)?&#60;/p&#62;
&#60;p&#62;Cheers,&#60;br /&#62;
Foufour
&#60;/p&#62;</description>
		</item>
		<item>
			<title>wang mengxiao on "Why is 3D TR reconstruction in heterogeneous medium so bad?"</title>
			<link>http://www.k-wave.org/forum/topic/why-is-3d-tr-reconstruction-in-heterogeneous-medium-so-bad#post-6494</link>
			<pubDate>Wed, 20 Jun 2018 19:25:11 +0000</pubDate>
			<dc:creator>wang mengxiao</dc:creator>
			<guid isPermaLink="false">6494@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi,&#60;br /&#62;
About above-mentioned code , there are four medium:soundspeed1=1480,tissdst1=920;&#60;br /&#62;
soundspeed2=1540, tissdst2=1040;soundspeed3=3200,tissdst1=2000; soundspeed4=1500,tissdst1=1000;&#60;br /&#62;
The soundspeed and tissue density were set according to the structure of the pelvic cavity.&#60;/p&#62;
&#60;p&#62;Thank you so much.&#60;/p&#62;
&#60;p&#62;Sincerely,&#60;br /&#62;
Mengxiao
&#60;/p&#62;</description>
		</item>
		<item>
			<title>wang mengxiao on "Why is 3D TR reconstruction in heterogeneous medium so bad?"</title>
			<link>http://www.k-wave.org/forum/topic/why-is-3d-tr-reconstruction-in-heterogeneous-medium-so-bad#post-6493</link>
			<pubDate>Wed, 20 Jun 2018 19:02:19 +0000</pubDate>
			<dc:creator>wang mengxiao</dc:creator>
			<guid isPermaLink="false">6493@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi,&#60;/p&#62;
&#60;p&#62;I reconstructed initial pressure using 3D Time Reversal Reconstruction For A Planar Sensor in heterogeneous medium. But i can not get good reconstructed images.The codes I use are as following:&#60;/p&#62;
&#60;p&#62;%% create the computational grid&#60;br /&#62;
PML_size = 10;                                  % size of the PML in grid points&#60;br /&#62;
% Nx = 64 * scale - 2 * PML_size;               % number of grid points in the x direction&#60;br /&#62;
% Ny = 64 * scale - 2 * PML_size;               % number of grid points in the y direction&#60;br /&#62;
% Nz = 32 * scale - 2 * PML_size;               % number of grid points in the z direction&#60;br /&#62;
Nx = 190 - 2 * PML_size;                        % number of grid points in the x direction&#60;br /&#62;
Ny = 270 - 2 * PML_size;                        % number of grid points in the y direction&#60;br /&#62;
Nz = 126 - 2 * PML_size;                        % number of grid points in the z direction&#60;br /&#62;
dx = 1.25e-3/2 ;                                  % grid point spacing in the x direction [m]&#60;br /&#62;
dy = 1.25e-3/2;                                   % grid point spacing in the y direction [m]&#60;br /&#62;
dz = 1.25e-3/2;                                      % grid point spacing in the z direction [m]&#60;br /&#62;
kgrid = kWaveGrid(Nx, dx, Ny, dy, Nz, dz);&#60;/p&#62;
&#60;p&#62;%% load the speed of sound and the tissue density and the initial pressure distribution from an image and scale&#60;br /&#62;
soundspeed=importdata('C:\Users\WANG MENG XIAO\Desktop\project\XACT\code_and_results\work3_06152018\a_segmentation\mat\soundspeed_160_240_96.mat');&#60;br /&#62;
tissdst=importdata('C:\Users\WANG MENG XIAO\Desktop\project\XACT\code_and_results\work3_06152018\a_segmentation\mat\tissdst_160_240_96.mat');&#60;br /&#62;
p0=importdata('C:\Users\WANG MENG XIAO\Desktop\project\XACT\code_and_results\work3_06152018\b_initial_pressure\mat\initial_dose_160_240_53.mat');&#60;/p&#62;
&#60;p&#62;%% get the size of soundspeed&#60;br /&#62;
[r,c,h]=size(soundspeed);&#60;/p&#62;
&#60;p&#62;%% define the speed of sound(m/s)&#60;br /&#62;
for k=1:h&#60;br /&#62;
    for i=1:r&#60;br /&#62;
        for j=1:c&#60;br /&#62;
            if soundspeed(i,j,k)&#38;lt;=343&#60;br /&#62;
                soundspeed(i,j,k)=1500;&#60;br /&#62;
            end&#60;br /&#62;
        end&#60;br /&#62;
    end&#60;br /&#62;
end&#60;/p&#62;
&#60;p&#62;%% define the tissue density(kg/m3)&#60;br /&#62;
for k=1:h&#60;br /&#62;
    for i=1:r&#60;br /&#62;
        for j=1:c&#60;br /&#62;
            if tissdst(i,j,k)&#38;lt;=1.2&#60;br /&#62;
                tissdst(i,j,k)=1000;&#60;br /&#62;
            end&#60;br /&#62;
        end&#60;br /&#62;
    end&#60;br /&#62;
end&#60;/p&#62;
&#60;p&#62;p0_binary=zeros(Nx,Ny,Nz);&#60;br /&#62;
p0_binary(6:165,6:245,6:58)=p0;&#60;br /&#62;
% p0_binary=zeros(Nx,Ny,Nz);&#60;br /&#62;
% p0_binary(1:32,1:32,5)=im;&#60;/p&#62;
&#60;p&#62;% smooth the initial pressure distribution and restore the magnitude&#60;br /&#62;
% p0 = smooth(kgrid, p0_binary, true);&#60;br /&#62;
p0=p0_binary;&#60;/p&#62;
&#60;p&#62;%% assign to the source structure&#60;br /&#62;
source.p0 = p0;&#60;/p&#62;
&#60;p&#62;%% define the properties of the propagation medium&#60;br /&#62;
sound_speed=ones(Nx,Ny,Nz)*1500;&#60;br /&#62;
sound_speed(6:165,6:245,6:101)=soundspeed;&#60;br /&#62;
medium.sound_speed = sound_speed;                      % [m/s]&#60;/p&#62;
&#60;p&#62;density=ones(Nx,Ny,Nz)*1000;&#60;br /&#62;
density(6:165,6:245,6:101)=tissdst;&#60;br /&#62;
medium.density=density;                                % [kg/m3]&#60;br /&#62;
% medium.alpha_coeff = 0.75;                           % power law absorption prefactor [dB/(MHz^y*cm)]&#60;br /&#62;
% medium.alpha_power = 1.5;                            % power law absorption exponent&#60;/p&#62;
&#60;p&#62;%% define a binary planar sensor&#60;br /&#62;
sensor.mask = zeros(kgrid.Nx, kgrid.Ny, kgrid.Nz);&#60;br /&#62;
sensor.mask(6:2:165,6:2:245,102) = 1;&#60;br /&#62;
% sensor.mask(1:32, 1:32,1) = 1;&#60;/p&#62;
&#60;p&#62;%% define frequence and bandwidth of sensor&#60;br /&#62;
center_freq =1e6;                                         %!!!!!!定义探测器的中心频率&#60;br /&#62;
bandwidth = 100;                                          %带宽100%&#60;br /&#62;
sensor.frequency_response = [center_freq, bandwidth];     %定义传感器完整参数，包括中心频率和带宽  &#60;/p&#62;
&#60;p&#62;%% create the time array&#60;br /&#62;
kgrid.makeTime(medium.sound_speed);&#60;/p&#62;
&#60;p&#62;%% set the input arguements&#60;br /&#62;
input_args = {'PMLSize', PML_size, 'PMLInside', false, ...&#60;br /&#62;
    'PlotPML', false, 'Smooth', false, 'DataCast', 'single'};&#60;/p&#62;
&#60;p&#62;%% run the simulation&#60;br /&#62;
sensor_data = kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:});&#60;/p&#62;
&#60;p&#62;%% reset the initial pressure&#60;br /&#62;
source.p0 = 0;&#60;/p&#62;
&#60;p&#62;%% assign the time reversal data&#60;br /&#62;
sensor.time_reversal_boundary_data = sensor_data;&#60;/p&#62;
&#60;p&#62;%% run the time-reversal reconstruction&#60;br /&#62;
p0_recon = kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:});&#60;/p&#62;
&#60;p&#62;%% add first order compensation for only recording over a half plane&#60;br /&#62;
p0_recon = 2 * p0_recon;&#60;/p&#62;
&#60;p&#62;%% apply a positivity condition&#60;br /&#62;
p0_recon(p0_recon &#38;lt; 0) = 0;&#60;/p&#62;
&#60;p&#62;Thank you very much.&#60;/p&#62;
&#60;p&#62;Sincerely,&#60;br /&#62;
Mengxiao
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
