<?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; User Favorites: Yufeng Wang</title>
		<link><a href='http://www.k-wave.org/forum/profile/yufeng-wang'>yufeng-wang</a></link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 03 Jun 2026 02:07:35 +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/profile/" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "attenuation in heroginious medium"</title>
			<link>http://www.k-wave.org/forum/topic/attenuation-in-heroginious-medium#post-5662</link>
			<pubDate>Fri, 09 Sep 2016 20:36:53 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">5662@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi benji,&#60;/p&#62;
&#60;p&#62;If you're using &#60;code&#62;kspaceFirstOrder3D&#60;/code&#62;, the simulation will not be unconditionally stable when you add absorption. You can use the function &#60;code&#62;checkStability&#60;/code&#62; to check if the time step is small enough to ensure stability.&#60;/p&#62;
&#60;p&#62;There is a also small phase error that is introduced when using &#60;code&#62;kspaceFirstOrder3D&#60;/code&#62; due to the way the absorption term is implemented (see the k-Wave manual and the &#60;a href=&#34;http://www.k-wave.org/documentation/example_na_modelling_absorption.php&#34;&#62;Modelling Power Law Absorption Example&#60;/a&#62; for more details). This can be counteracted by reducing the size of the time step. &#60;/p&#62;
&#60;p&#62;As an alternative, you can use &#60;code&#62;kspaceSecondOrder&#60;/code&#62;. This is restricted to homogeneous media, but is unconditionally stable and encodes the absorption operator exactly.&#60;/p&#62;
&#60;p&#62;Three things to check:&#60;/p&#62;
&#60;p&#62;(1) Do you get the same results if your halve the time step (i.e., have you performed a convergence check)?&#60;/p&#62;
&#60;p&#62;(2) Do you seem the same behaviour if you use &#60;code&#62;kspaceSecondOrder&#60;/code&#62;?&#60;/p&#62;
&#60;p&#62;(3) If you open the Modelling Power Law Absorption Example, set &#60;code&#62;example_number = 3&#60;/code&#62; and then run the simulations with and without &#60;code&#62;medium.alpha_mode = &#38;#39;no_dispersion&#38;#39;&#60;/code&#62;, do you see any difference in the output?&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>benji on "attenuation in heroginious medium"</title>
			<link>http://www.k-wave.org/forum/topic/attenuation-in-heroginious-medium#post-5644</link>
			<pubDate>Fri, 19 Aug 2016 18:15:55 +0000</pubDate>
			<dc:creator>benji</dc:creator>
			<guid isPermaLink="false">5644@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;hi again,&#60;br /&#62;
after experimenting a little more, here are some more details:&#60;br /&#62;
1. the simulation is stable for alpha_power&#38;gt;1.05 or alpha_power&#38;lt;0.9 (also for alpha_coeff greater than 3dB)&#60;br /&#62;
2. the recorded pressure signal measured is delayed for alpha_power&#38;lt;1, and exibits a negative delay for alpha_power greater than 1 (delay is relative to the signal measured without attenuation, but the same medium otherwise).as alpha_power is bigger (than 1) - so does the delay (and opposite when alpha_power&#38;lt;1).&#60;br /&#62;
3. the signal is still expanded in time domain (why?)&#60;br /&#62;
4. the signal becomes not casual as alpha_power becomes smaller (or bigger) than 1.&#60;br /&#62;
5. defining: medium.alpha_mode = 'no_dispersion', makes no differance to the simulation! i get exactly the same results with and without it. also with that line, i observe a loss obeying the relation: a*x[cm]*f^b&#60;/p&#62;
&#60;p&#62;thank u&#60;br /&#62;
benji
&#60;/p&#62;</description>
		</item>
		<item>
			<title>benji on "attenuation in heroginious medium"</title>
			<link>http://www.k-wave.org/forum/topic/attenuation-in-heroginious-medium#post-5643</link>
			<pubDate>Thu, 18 Aug 2016 16:35:00 +0000</pubDate>
			<dc:creator>benji</dc:creator>
			<guid isPermaLink="false">5643@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;hi,&#60;br /&#62;
I am trying to add attenuation to a hetroginious soft tissue model.&#60;br /&#62;
as a first step i have allocated a homoginious attenuation coefficient to the hole model:&#60;br /&#62;
medium.alpha_coeff=a*ones(Nx,Ny,Nz);&#60;br /&#62;
medium.alpha_power=1.02;&#60;br /&#62;
medium.alpha_mode = 'no_dispersion';&#60;/p&#62;
&#60;p&#62;i am observing the next (unexpected) behaviour:&#60;/p&#62;
&#60;p&#62;1. for attenuation levels greater than 3db/(cm*MHz) - the simulation is unstable and pressure goes to infinity.&#60;/p&#62;
&#60;p&#62;2. when attenuation levels are less or equal to 3db/(cm*MHz) :&#60;br /&#62;
    a. the measured signal starts earlier (as if the wave propagates faster, but the speed in&#60;br /&#62;
       defined for the medium is exactly the same). as bigger the attenuation is, the faster it&#60;br /&#62;
       &#34;arrives&#34; the&#60;br /&#62;
       sensor.&#60;br /&#62;
    b. it seems as if the signal is being expanded in time axis (meaning p(a*t)) - and&#60;br /&#62;
       analogiously squeezed in frequency domain.&#60;br /&#62;
    c. the signal becomes not causal, and is not exactly zero in times before the signal arrives&#60;br /&#62;
       the sensor.&#60;/p&#62;
&#60;p&#62;I would really appriciate your help understanding the above phenomena. i expected having some dispersion, with every frequency attenuatted according to a*x[cm]*f[MHz], but that behviour is different.&#60;/p&#62;
&#60;p&#62;could i count on phase accuracy of the simulation to measure phase differance between different points?&#60;/p&#62;
&#60;p&#62;thank u very much for your kind help&#60;/p&#62;
&#60;p&#62;benji
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "running k-wave simulation in linux terminal"</title>
			<link>http://www.k-wave.org/forum/topic/running-k-wave-simulation-in-linux-terminal#post-5528</link>
			<pubDate>Wed, 08 Jun 2016 21:18:39 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">5528@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi benji,&#60;/p&#62;
&#60;p&#62;Unfortunately this is a common problem using MATLAB's inbuilt interpolation function. One way to save some memory is to save to disk in parts. There is an example in the k-Wave MATLAB help covering how to do this, although I think this currently skips calculating the density on a staggered grid (it probably shouldn't).&#60;/p&#62;
&#60;p&#62;For larger input files, we always save to disk in parts, and get around the MATLAB interp problem by using a C++ mex function to perform the interpolation. I'd be happy to send it to you if that's helpful.&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>benji on "running k-wave simulation in linux terminal"</title>
			<link>http://www.k-wave.org/forum/topic/running-k-wave-simulation-in-linux-terminal#post-5522</link>
			<pubDate>Sun, 05 Jun 2016 21:46:19 +0000</pubDate>
			<dc:creator>benji</dc:creator>
			<guid isPermaLink="false">5522@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;thank u, that was a silly question of mine:)&#60;/p&#62;
&#60;p&#62;i have a matlab script that creates an input file for the c++ binary.&#60;br /&#62;
i am running that script in linux OS on university servers, using PBS (Portable Batch System).&#60;/p&#62;
&#60;p&#62;i have created successfully input files for a grid of sizes 128^3,256^3 and 512^3, using 10-15GB.&#60;br /&#62;
when trying to create an input file for a 768^3 and larger, MATLAB bring up the next error:&#60;/p&#62;
&#60;p&#62;///////////////////////////////////////////&#60;br /&#62;
Error using griddedInterpolant/subsref&#60;br /&#62;
Out of memory. Type HELP MEMORY for your options.&#60;/p&#62;
&#60;p&#62;Error in interpn (line 178)&#60;br /&#62;
    Vq = F(Xq{:});&#60;/p&#62;
&#60;p&#62;Error in kspaceFirstOrder3D (line 556)&#60;br /&#62;
    rho0_sgy = interpn(kgrid.x, kgrid.y, kgrid.z, rho0, kgrid.x, kgrid.y + kgrid.dy/2, kgrid.z, '*linear');&#60;/p&#62;
&#60;p&#62;Error in create_input_1024_1024_1024 (line 51)&#60;br /&#62;
kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:},'SaveToDisk',filename);&#60;/p&#62;
&#60;p&#62;////////////////////////////////////////&#60;/p&#62;
&#60;p&#62;i note that i have been trying to run that with up to 48GB of physical memory+48GB of vmem (the maxumum i can be allocated at the moment). i believe 48GB shoukd be much more than inough to create a 678X678X678 or 1024X1024X1024 grid input file (using wsave to disc').&#60;/p&#62;
&#60;p&#62;what could be the reason for that and how can it be solved?&#60;/p&#62;
&#60;p&#62;thank u very much,&#60;br /&#62;
benji
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Jiri Jaros on "running k-wave simulation in linux terminal"</title>
			<link>http://www.k-wave.org/forum/topic/running-k-wave-simulation-in-linux-terminal#post-5501</link>
			<pubDate>Fri, 13 May 2016 23:57:16 +0000</pubDate>
			<dc:creator>Jiri Jaros</dc:creator>
			<guid isPermaLink="false">5501@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Benji,&#60;br /&#62;
you've got to add +x permission &#60;/p&#62;
&#60;p&#62;chmod +x ./kspaceFirstOrder3D-OMP&#60;/p&#62;
&#60;p&#62;the you can run the code by&#60;br /&#62;
./kspaceFirstOrder3D-OMP ...&#60;/p&#62;
&#60;p&#62;Jiri
&#60;/p&#62;</description>
		</item>
		<item>
			<title>benji on "running k-wave simulation in linux terminal"</title>
			<link>http://www.k-wave.org/forum/topic/running-k-wave-simulation-in-linux-terminal#post-5491</link>
			<pubDate>Wed, 04 May 2016 21:55:14 +0000</pubDate>
			<dc:creator>benji</dc:creator>
			<guid isPermaLink="false">5491@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;hi,&#60;br /&#62;
i sm trying to use the C++ code in order to run large grid simulations.&#60;br /&#62;
I created a h5 input file in local matlab (kwave_input_data_128_64_64.h5), and run the next script:&#60;/p&#62;
&#60;p&#62;#!/bin/csh&#60;/p&#62;
&#60;p&#62;./kspaceFirstOrder3D-OMP -i kwave_input_data_128_64_64.h5 -o output_data.h5&#60;/p&#62;
&#60;p&#62;exit&#60;/p&#62;
&#60;p&#62;I get the next error &#34;line 3: ./kspaceFirstOrder3D-OMP: Permission denied&#34;&#60;/p&#62;
&#60;p&#62;when running without ./ iget the next error: &#34;kspaceFirstOrder3D-OMP: Command not found.&#34;&#60;/p&#62;
&#60;p&#62;what is the reason?&#60;br /&#62;
Thank you,&#60;br /&#62;
benj
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "Frequency content, signal processing in FFT reconstruction"</title>
			<link>http://www.k-wave.org/forum/topic/frequency-content-signal-processing-in-fft-reconstruction#post-4837</link>
			<pubDate>Tue, 11 Nov 2014 19:24:47 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">4837@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Bill,&#60;/p&#62;
&#60;p&#62;What you are seeing is the combination of two classical problems when using linear piezoelectric arrays for photoacoustic imaging. &#60;/p&#62;
&#60;p&#62;The first is the limited aperture problem. This arises because the finite size of the imaging aperture means you will not detect the acoustic waves travelling in all directions from your photoacoustic source. This will result in arc-like artefacts in the reconstructed image, which you can see in the &#60;a href=&#34;http://www.k-wave.org/documentation/example_pr_2D_fft_line_sensor.php&#34;&#62;2D FFT Reconstruction For A Line Sensor Example&#60;/a&#62;. A more detailed explanation of the limited view problem is given &#60;a href=&#34;http://scitation.aip.org/content/aapm/journal/medphys/31/4/10.1118/1.1644531&#34;&#62;here&#60;/a&#62;.&#60;/p&#62;
&#60;p&#62;The second problem is the use of band-limited detectors. As photoacoustic waves are inherently broadband, you will lose some high and low frequency information when using narrowband piezoelectric detectors. This results in positive and negative oscillations in the reconstructed image, which you can see in the &#60;a href=&#34;http://www.k-wave.org/documentation/example_pr_2D_tr_bandlimited_sensors.php&#34;&#62;Image Reconstruction With Bandlimited Sensors Example&#60;/a&#62;. Deconvolution &#60;em&#62;might&#60;/em&#62; help, but you can't correct for frequencies that simply haven't been recorded. You'll also need to be careful you don't amplify noise.&#60;/p&#62;
&#60;p&#62;Regarding increasing the resolution of your image, you could use nearest neighbour interpolation to spatially upsample your data before calling &#60;code&#62;kspaceLineRecon&#60;/code&#62;.&#60;/p&#62;
&#60;p&#62;Hope that helps,&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>wcvogt on "Frequency content, signal processing in FFT reconstruction"</title>
			<link>http://www.k-wave.org/forum/topic/frequency-content-signal-processing-in-fft-reconstruction#post-4831</link>
			<pubDate>Thu, 06 Nov 2014 20:30:44 +0000</pubDate>
			<dc:creator>wcvogt</dc:creator>
			<guid isPermaLink="false">4831@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hello,&#60;/p&#62;
&#60;p&#62;I am trying to use the FFT method kspaceLineRecon to reconstruct images from a 128-element linear array with 4-11 MHz bandwidth, sampled at 31.25 MHz. However, absorptive objects in reconstructed images appear not as expected point targets but as multiple bands or arcs with oscillating intensity between positive and negative values, especially along the axial (time-associated) direction.&#60;/p&#62;
&#60;p&#62;My two hypotheses as to where this artifact comes from are:&#60;br /&#62;
1) Insufficient grid density. Is there a way to adjust the grid density for the FFT methods? The grid seems hard-coded based on the dataset size. &#60;/p&#62;
&#60;p&#62;2) The oscillations appear similar to the temporal impulse response of our array as measured by directly illuminating it. Is impulse deconvolution critical for PAT? What signal processing is necessary before inputting data to the FFT method? &#60;/p&#62;
&#60;p&#62;Thanks,&#60;/p&#62;
&#60;p&#62;-Bill Vogt, Ph.D&#60;br /&#62;
Postdoctoral Fellow&#60;br /&#62;
US Food and Drug Administration&#60;br /&#62;
Silver Spring MD
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
