<?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: please add focus transducer!!</title>
		<link>http://www.k-wave.org/forum/topic/please-add-focus-transducer</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Tue, 12 May 2026 23:08:39 +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/please-add-focus-transducer" rel="self" type="application/rss+xml" />

		<item>
			<title>leRequin on "please add focus transducer!!"</title>
			<link>http://www.k-wave.org/forum/topic/please-add-focus-transducer#post-8903</link>
			<pubDate>Thu, 31 Aug 2023 18:20:16 +0000</pubDate>
			<dc:creator>leRequin</dc:creator>
			<guid isPermaLink="false">8903@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;I had a similar issue. I need to simulate a phased-array bowl transducer with equidistant element spacing rather than a random array. More specifically, an algorithm for finding equidistant points on a 2-sphere. I wrote a short function that works relatively well for simple simulations but requires the number of elements to be perfect squares and needs to be improved. The most challenging part was finding how to rotate the elements to the focal point, which I eventually arrived at by trial and error. Maybe someone can provide more insight into making the points truly equidistant or how to calculate the rotation angles.&#60;/p&#62;
&#60;p&#62;Here are a few papers and algorithms discussing potential methods:&#60;br /&#62;
1. Deserno. How to generate equi-distributed points on the surface of a sphere. If Polzmerforshung. 2004&#60;br /&#62;
2. Algorithm. &#60;a href=&#34;https://www.bogotobogo.com/Algorithms/uniform_distribution_sphere.php&#34; rel=&#34;nofollow&#34;&#62;https://www.bogotobogo.com/Algorithms/uniform_distribution_sphere.php&#60;/a&#62;.&#60;br /&#62;
3. S^2 sampling toolbox. Anton Semechko. Matlab File Exchange.&#60;br /&#62;
4. mathworks.com/matlabcentral/answers/353-uniform-distribution-of-n-points-within-a-sphere&#60;/p&#62;
&#60;p&#62;function [px,py,pz,pa,pe, karray, source] = make_phased_array_bowl_transducer(source_focus, element_num, kgrid, element_width, element_length, translation, rotation)&#60;br /&#62;
	s1 = (pi*source_focus)/(sqrt(element_num));&#60;br /&#62;
	s2 = (pi*source_focus)/(sqrt(element_num)+1);&#60;br /&#62;
	angle1 = s1/source_focus;&#60;br /&#62;
	angle2 = s2/source_focus;&#60;br /&#62;
	ca1 = 0;&#60;br /&#62;
	ca2 = angle2;&#60;br /&#62;
	cnt=1;&#60;br /&#62;
	for i=1:sqrt(element_num)&#60;br /&#62;
		for j=1:sqrt(element_num)&#60;br /&#62;
		  px(cnt) = source_focus*sin(ca2)*cos(ca1);&#60;br /&#62;
		  py(cnt) = source_focus*sin(ca2)*sin(ca1);&#60;br /&#62;
		  pz(cnt) = -source_focus*cos(ca2);&#60;br /&#62;
		  pa(cnt) = 180/pi*ca1-90;&#60;br /&#62;
		  pe(cnt) = 180/pi*ca2;&#60;br /&#62;
		  ca1 = ca1 + angle1;&#60;br /&#62;
		  cnt=cnt+1;&#60;br /&#62;
		end&#60;br /&#62;
		ca2 = ca2 + angle2;&#60;br /&#62;
		ca1=0;&#60;br /&#62;
	end&#60;br /&#62;
	figure&#60;br /&#62;
	plot3(px,py,pz,'.')&#60;/p&#62;
&#60;p&#62;    karray = kWaveArray('BLITolerance', 0.05, 'UpsamplingRate', 10);&#60;br /&#62;
    for ind = 1:element_num&#60;br /&#62;
        karray.addRectElement([px(ind), py(ind), pz(ind)], element_width, element_length, [pe(ind),0,pa(ind)]);&#60;br /&#62;
    end&#60;br /&#62;
    karray.setArrayPosition(translation, rotation)&#60;br /&#62;
    source.p_mask = karray.getArrayBinaryMask(kgrid);&#60;/p&#62;
&#60;p&#62;end&#60;/p&#62;
&#60;p&#62;-Ryan
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "please add focus transducer!!"</title>
			<link>http://www.k-wave.org/forum/topic/please-add-focus-transducer#post-8830</link>
			<pubDate>Tue, 13 Jun 2023 19:44:46 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">8830@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;See the “ Modelling Plane Piston And Focused Bowl Transducers Example”.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>tiagodourado on "please add focus transducer!!"</title>
			<link>http://www.k-wave.org/forum/topic/please-add-focus-transducer#post-8824</link>
			<pubDate>Mon, 12 Jun 2023 15:36:32 +0000</pubDate>
			<dc:creator>tiagodourado</dc:creator>
			<guid isPermaLink="false">8824@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Thanks, Bradley for your help once again. Finally, could you indicate which example in k-wave works with this processing?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "please add focus transducer!!"</title>
			<link>http://www.k-wave.org/forum/topic/please-add-focus-transducer#post-7452</link>
			<pubDate>Fri, 01 May 2020 08:19:24 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">7452@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;HI lishine,&#60;/p&#62;
&#60;p&#62;We are working on a new class called kWaveArray that makes it easy to specify multi-element transducers (sources or sensors). We have a beta version, and we plan for this to be out with the next release. In the meantime, if you need to make a bowl, you could look at the &#60;code&#62;makeBowl&#60;/code&#62; function.&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>lishine on "please add focus transducer!!"</title>
			<link>http://www.k-wave.org/forum/topic/please-add-focus-transducer#post-7419</link>
			<pubDate>Sun, 19 Apr 2020 13:38:15 +0000</pubDate>
			<dc:creator>lishine</dc:creator>
			<guid isPermaLink="false">7419@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;i often use points to make a bowl to form a focus transducer,and scan it.  But it is so ....so hard!
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
