<?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: x-upward shift in image</title>
		<link>http://www.k-wave.org/forum/topic/x-upward-shift-in-image</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 13 May 2026 00:53:55 +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/x-upward-shift-in-image" rel="self" type="application/rss+xml" />

		<item>
			<title>Alexll7 on "x-upward shift in image"</title>
			<link>http://www.k-wave.org/forum/topic/x-upward-shift-in-image#post-6596</link>
			<pubDate>Mon, 08 Oct 2018 13:48:21 +0000</pubDate>
			<dc:creator>Alexll7</dc:creator>
			<guid isPermaLink="false">6596@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Bradley,&#60;/p&#62;
&#60;p&#62;Yes, I changed everytime &#34;steering_angle_max&#34; when I increased the range of &#34;steering_angles&#34; (I've just verified it this minute with the saves of the parameters of my simulations).&#60;br /&#62;
Thank you very much for your confirmation.&#60;br /&#62;
Kind regards,&#60;/p&#62;
&#60;p&#62;Alex
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "x-upward shift in image"</title>
			<link>http://www.k-wave.org/forum/topic/x-upward-shift-in-image#post-6594</link>
			<pubDate>Sun, 07 Oct 2018 20:29:46 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">6594@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Alexandre,&#60;/p&#62;
&#60;p&#62;Your example and description look pretty convincing - I think it's a genuine bug. Thanks for taking the time to get to the bottom of it and posting your fix! I'll add it to the list for the next release. Can I double check that you also changed the value of &#60;code&#62;transducer.steering_angle_max&#60;/code&#62; when you increased the range of steering angles?&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Alexll7 on "x-upward shift in image"</title>
			<link>http://www.k-wave.org/forum/topic/x-upward-shift-in-image#post-6590</link>
			<pubDate>Thu, 04 Oct 2018 14:43:15 +0000</pubDate>
			<dc:creator>Alexll7</dc:creator>
			<guid isPermaLink="false">6590@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hello !&#60;/p&#62;
&#60;p&#62;When I used a large transducer or/and when I simulated a large range of steering angles, I have always observed an x-upward shift on the reconstructed image compared to real medium (you can see here that the cylinder appears between 56.5 and 63.5mm instead of between 54.5 and 61.5mm : &#60;a href=&#34;https://www.casimages.com/i/181004035409747281.png.html)&#34; rel=&#34;nofollow&#34;&#62;https://www.casimages.com/i/181004035409747281.png.html)&#60;/a&#62;. For the reconstruction, I use &#34;transducer.combine_sensor_data&#34; (I use the C++ code on GPU so this stage is necessary) then &#34;transducer.scan_line&#34; and then your code &#34;example_us_bmode_phased_array&#34; starting from the line &#34;t0_offset = round(length(input_signal) / 2) + (transducer.appended_zeros - transducer.beamforming_delays_offset);&#34;.&#60;br /&#62;
After a lot of research, I observed that the output of combine_sensor_data has a significant negative temporal offset compared to the input (for example, the transducer_input_signal starts before in the output compared to the input). With an analyse of the source code, I find that, in line 908 (of kWaveTransducer.m), you use transducer.delays_mask(2) to obtain the elevation_delays. But, in transducer.delays_mask(2), there is also the transducer.beamforming_delays_offset. Because of that, in line 913, you apply again the transducer.beamforming_delays_offset to sensor_data... And this temporal offset causes the spatial offset observed in the images.&#60;br /&#62;
There are 2 solutions to fix this, either change the line &#34;t0_offset = round(length(input_signal) / 2) + (transducer.appended_zeros - transducer.beamforming_delays_offset)&#34; to &#34;t0_offset = round(length(input_signal) / 2) + (transducer.appended_zeros - 2*transducer.beamforming_delays_offset)&#34; in post-processing or change the source code kWaveTransducer.m line 609 &#34;dm = obj.delay_mask(2)&#34;  =&#38;gt;  &#34;dm = obj.delay_mask(2)-obj.beamforming_delays_offset&#34;.&#60;br /&#62;
Since this change, I have always observed the objects at the well depth (e.g : the same simulation with the correction &#60;a href=&#34;https://www.casimages.com/i/18100403550733177.png.html)&#34; rel=&#34;nofollow&#34;&#62;https://www.casimages.com/i/18100403550733177.png.html)&#60;/a&#62;.&#60;/p&#62;
&#60;p&#62;So, my question is, Do you think my analyse is correct or I misunderstand something and the x-upward shift comes from an other thing ?&#60;/p&#62;
&#60;p&#62;I thank you in advance for your answer. &#60;/p&#62;
&#60;p&#62;Best regards,&#60;/p&#62;
&#60;p&#62;Alexandre
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
