平面波成像Plane Wave Imaging, PWI,发射可以覆盖整个成像区域的平面波,通过一次发射和接收获取整个成像区域的数据。与传统的聚焦超声成像相比,平面波超声成像减少了超声波的发射次数,极大程度上提高了成像的帧率。

然而,由于平面波成像发射时没有聚焦这一步骤,因此图像的对比度和分辨率会下降。为了克服这一限制,Montaldo等人在2009年提出复合平面波成像Compound Plane Wave Imaging, CPWI,将几个不同倾斜角度的平面波发射到介质中,利用相干叠加来获得最终图像。

复合平面波成像(CPWI)

1. 平面波发射延时

通过对换能器阵元施加发射延迟实现平面波的发射偏转,当偏转角度为

时,阵元

的延迟时间为

,其中pitch代表阵元间距,c代表声速:

偏转角为θ的平面波发射延迟示意图

2. 平面波成像

平面波成像系统如下图所示,x方向为平行于换能器阵元的方向,z方向为成像区域的深度方向,x-z平面为成像平面。

平面波成像模式

平面波从换能器发射,传播到成像平面内任意pixelP(x,z)并返回至换能器

处的时间为:

最终点

处的信号强度是所有阵元接收到的信号进行延迟累加的结果,其中

代表阵元个数,

代表任意一阵元:

3. Field II 仿真代码

平面换能器阵列发射平面波有两种不同的设置方法:

一种是将换能器的焦点放到无穷远处(0,0,Inf),这样可以保证换能器中所有的阵元同时发射,此时发射的波近似为平面波。当发射有一定倾斜角度的平面波时,使用Field II中自带函数ele_delay,此函数用于设置阵元的延时;

另一种方法是使用函数xdc_focus_times,将聚焦点的位置设置在换能器阵列的位置上,然后通过改变函数中的延迟值来控制发射平面波的偏转角度。

%% 平面波成像

num_dir=1; %平面波个数

delays=zeros(num_dir,N_elements);

file_name=['save rf_data/rf_ln.mat'];

if ~exist(file_name)

%Save a file to reserve the calculation

cmd=['save rf_data/rf_ln.mat'];

eval(cmd);

disp('Now making data ')

%set transmit delays

delays_RE=zeros(1,N_elements);

delays_TR=zeros(1,N_elements);

xdc_focus_times(emit_aperture,0,delays_TR);

xdc_focus_times(receive_aperture,0,delays_RE);

%Calculate the received response

[rf_data, tstart]=calc_scat_multi(emit_aperture,...

receive_aperture, phantom_positions,...

phantom_amplitudes);

% Store the result

cmd=['save rf_data/rf_ln.mat rf_data tstart'];disp(cmd)

eval(cmd);

else

disp(['data ',' is being made by another machine.'])

end

平面波发射声场示意图

仿真步骤如下:

1)设置换能器基本参数

2)设置散射体模型参数

3)平面波发射和回波接收

4)延时累加计算

5)图像显示

最终仿真结果如下图所示:

平面波成像

python超声成像仿真_平面波超声成像(Filed II仿真代码)相关推荐

  1. python模拟太阳系_用Unity3D实现太阳系仿真

    用Unity3D模拟太阳系仿真 模拟要求 写一个程序,实现一个完整的太阳系, 其他星球围绕太阳的转速必须不一样,且不在一个法平面上. 操作步骤 1.创建如下结构 sun 里包括8大行星, 并且设置好距 ...

  2. python手机话费_查询话费订单详情示例代码

    #!/usr/bin/python # encoding:utf-8 import urllib2, json, urllib, hashlib # 3.获取订单详情 data = {} data[& ...

  3. python嵌套循环优化_减少循环嵌套,提升代码运行速度!你不知道的3个实用Python函数...

    作为21世纪最流行的语言之一,Python有很多有趣的功能值得深入探索和研究.今天将讨论其中的三个你可能没听说过的函数,将从理论和实际应用两方面为你详细讲解. 我之所以要讨论这些函数,主要是因为它们可 ...

  4. python画字母代码_字母大小写如何python3中用代码表示?

    在英文的书写中,如果是开头的字母是需要区分大小写的,但是其中的更改大小写方法不适用于我们所学的python中.我们想要对字母进行大小写的更改,需要通过一些函数代码来对字母进行改变.没有接触过的小伙伴可 ...

  5. echarts python源码_基于Django快速集成Echarts代码示例

    1.在线定制下载echarts 2.创建一个django项目或者在已有的项目 配置文件中确保数据库配置.static配置.与添加项目名到INSTALLED_APPS下. 配置静态文件目录static, ...

  6. 用python制作生日蛋糕_纯HTML5+CSS3制作生日蛋糕(代码易懂)

    Happy Birthday 生 日 快 乐

  7. 撩课python视频下载_撩课-Python-GUI编程-PyQT5代码 要毕业查重了给我来这套 - 下载 - 搜珍网...

    压缩包 : ab953a7e6cd40551d00a2f0ba138aa4.zip 列表 PyQt5/ PyQt5/.idea/ PyQt5/.idea/inspectionProfiles/ PyQ ...

  8. 复合平面波超声成像(Matlab Field II仿真)

    复合平面波超声成像 由于平面波不聚焦,因此在获得完整超声图像的同时牺牲了图像质量,具体表现为超声图像的对比度和分辨率降低.为了克服这一限制,Montaldo等人在2009年提出,将几个带有倾斜角度的平 ...

  9. Filed II仿真软件的命令意义及如何实现超声平面波的仿真

    Filed II是由丹麦理工大学的Jorgen Arendt Jenson教授开发的一款超声成像仿真工具包,利用线性声学原理设计,能够仿真各种超声换能器,进行超声发射和接收波束形成. 1. Filed ...

最新文章

  1. juc java_深入理解JUC(java.util.concurrent)
  2. Javascript 思维导图 绘制基础内容(值得一看)
  3. 如何使用ZBrush+Painter来创建一个新生物之母?
  4. mysql数据库没有密码_MySQL用户数据库没有密码列-在OSX上安装MySQL
  5. C语言,向函数传递一维数组,调用函数并计算平均成绩
  6. 无法支持python程序的编辑运行和调试_python程序的调试方法
  7. Android RecyclerView网格布局动画
  8. 系统分析师-论文(论系统分析中对用户需求的把握、论信息系统开发方法及其应用)
  9. 知网不能下载PDF?CAJ格式太鸡肋?
  10. 赵小楼《天道》《遥远的救世主》深度解析(51)为什么芮小丹用脱衣这个方式来告白丁元英?
  11. html手机打不开是什么,手机打不开微信的网页怎么办?手机打不开微信网页的原因和解决方法...
  12. python背景怎么自定义铃声_iPhone —— 如何自制铃声(图文)
  13. Springboot实战:项目部署
  14. 计算机亮度快捷键,电脑亮度怎么调(一个快捷键就可以设置亮度了)
  15. ColorMatrix 矩阵效果,即美图秀秀图片滤镜效果的思路
  16. find()函数详解
  17. B2B2C多用户商城系统如何选择
  18. uniwide服务器不能进入系统,AMD四核心K10 Opteron处理器下月底出货
  19. get在linux中的用法,在Linux中使用GetKeyState(VK_CAPITAL)1
  20. USB3.0高清采集卡/HDMI TO USB3.0/ps4/5/ns/ipad平板游戏直播手游吃鸡录制相机摄像机抖音电商视频带货hdmi采集

热门文章

  1. python打印标签脚本
  2. python幂函数无序分布_Python:从幂律分布中生成随机数
  3. Vue实现一键复制文本内容
  4. dem生成等高线教程-dem提取等高线教程
  5. RoboMaster无人机设计
  6. hdu 2094 “产生冠军“
  7. oracle 2019 ocp,2019 OCP简介
  8. 开源虚拟机Bochs安装以及踩坑
  9. 国内 WhatsApp 能用吗?WhatsApp对外贸企业的重要性?
  10. 2020科协竞赛部第一次培训