mh-skjelvareid / synaptus

Matlab / Octave工具箱合成孔径超声波成像

1.2 k下载

更新2022年8月8日

从GitHub

查看许可GitHub

引用Synaptus(DOI):

许可:许可证

可以通过Mathworks文件交换:视图mh-skjelvareid / synaptus文件交换

总结

Synaptus是合成孔径的Matlab / Octave工具箱或阵列成像。它最初开发超声成像无损检测,但可以申请类似的成像模式(如地面穿透雷达)。工具箱中侧重于算法实现在傅里叶域中,在成像和多层结构(例如水、金属、岩石)。

工具箱的核心功能是创建集中图像从原始回波脉冲数据(无重点)。这些数据是由一个传感器传送电波传播介质,并记录背散射波在介质。“回声”背散射波相互作用时创建一个对象或比传播介质层具有不同的物理性质,如金属物体在水中。一个单点的测量空间从而产生一维深度剖面。由横向移动传感器相对于对象的研究中,可以创建一个2 -或对象的三维图像。一个类似的测量可以使用数组执行多个传感器。由于换能器光束的发散,从散射回声对象是“抹”外侧,使图像无重点,很难解释。这些图片的例子给出了下面的例子生和聚焦图像”部分。

Synaptus工具箱中的算法采取这样的原料,无重点的图像作为输入,并对其进行处理,以创建图像。从概念上讲,这是通过对原始图像作为波场的测量,并使用操作的波动方程波场到一个集中的形象。这个过程的细节描述的博士论文包含在工具箱。

背景

工具箱是由马丁·h·Skjelvareid作为一个集合的算法开发期间他的工作作为一个博士生。博士论文是包含在“文档”文件夹,也可以从下载https://hdl.handle.net/10037/4649。与很多事情一样,“魔鬼在细节中”时的实际实现合成孔径算法。工具箱是为了帮助那些新领域,想要发表的实现算法。工具箱中包含的数据集希望会有用的发展类似的测量几何图形的新算法。工具箱也可以代表一组参考方法对新算法进行了比较。

工具箱的名称是“合成孔径超声”的缩写。

生和聚焦图像示例

以下图片来自论文来说明一些应用程序的算法工具。原来的图编号和标题已经包括了上下文。看到thesis.pdf“文档”文件夹下文件为进一步的细节。

底钻洞PMMA和铝块

对象放置在圆柱表面

从内部生锈的管道成像

算法

算法的主要焦点是傅氏域超声数据的合成孔径处理。傅氏域处理是很常见的合成孔径雷达和声纳,但超声领域的,时域“延迟叠加”的方式仍占主导地位。傅氏域处理,可以推断采样回波脉冲波场在空间和时间(“波场迁移”)。这种方法的一个主要优势是,媒体之间的波场很容易推断不同的波速度,使多层成像(浸超声波成像相关)。

相移偏移(PSM)算法是通过迁移记录波场在小的步骤,并创建一个集中在每个深度图像线/面(使用“爆炸反射器模式”)。从加工的角度来看,方法不是最优的,完整的波场光谱矩阵必须乘以每一步的相位因子矩阵。然而,由于矩阵乘法在Matlab /八度非常迅速,该方法在实践中很快。

MULOK算法是一个多层的方法称为Stolt迁移,ωk聚焦,f - k聚焦等。(几个名字存在相同的方法)。中使用的波场推断PSM也用于MULOK,推断不同层之间的波场波速度。然而,每一层主要是“一次性”的重采样光谱波场。这通常是一个很有效的方法,但实际性能很大程度上取决于插值方法的效率(interp1函数的线性插值模式在八度/ Matlab只是适度快)。

CPSM算法是圆柱形的PSM算法的适应成像几何(传感器指向从圆柱形扫描表面向外)。波动方程金宝搏官方网站的解决方案在一个圆柱几何是汉克尔函数。这些可以用来推断波场,但通常是非常耗时的计算。算法还包括两个替代传输函数近似但更快。

组织

工具箱被组织成以下文件夹:

  • “核心”包含合成孔径聚焦的功能。每个文件表示一个单独的算法。
  • “数据集”.mat-format包含数据集,用于测试/算法的演示
  • “测试”包含算法的测试脚本
  • “misc”包含各种各样的函数用来帮助处理和策划的结果。
  • “学习”包含的简化版本(有些)算法工具箱,额外的块数据在中间步骤来帮助理解。
  • “文档”包含相关文档(博士论文+ +)
  • “实验”包含“草案”代码相关的较小的概念和想法,包括倾斜补偿。代码没有完全抛光/评论。

需求

Matlab工具箱需要基础安装工作或八度,和一些额外的信号处理功能。下面详细给出了Matlab和八度。

Matlab

Matlab是用于Linux, MacOS和窗户,可以购买Mathworks。在Matlab上运行Synaptus要求:

倍频程

GNU Octave是自由和开放源码,可供Linux, MacOS和窗户。看到GNU页面下载和安装获取详细信息。

上运行Synaptus八度要求:

  • 基础安装八度(5.2.0被测试版本,安装在Ubuntu 20.04)。在Debian / Ubuntu系统、八度可以安装sudo apt-get安装八度
  • 信号包(已测试版本1.4.1)。八度为Windows安装程序包的信号与主应用程序包。在Debian / Ubuntu系统,包可以安装使用sudo apt-get安装octave-signal注意信号包需要在八度使用命令“加载”pkg负载信号。这可以自动通过添加命令倍频程启动文件

安装

下载工具箱和添加(至少)“核心”文件夹到Matlab /八度路径。运行脚本发现在“测试”的例子使用不同的算法。一个接一个运行所有的测试,使用该脚本“tests_runAll.m”。打开并运行脚本在“学习”的一些算法的简化版本,与阴谋。

文档

核心算法函数描述记录的标准Matlab /八度的风格。使用帮助命令来显示文档对于一个给定的函数,如帮助psm。“文档”文件夹中的博士论文描述背后的理论核心算法。

“测试”文件夹中的脚本是为了测试工具箱的功能,而且作为插图使用工具箱的一些典型例子的数据集。

脚本在“学习”文件夹中包含PSM和MULOK算法的简化版本,与多个情节显示输入数据,中间步骤,最后集中的形象。这些脚本的目的是显示算法的主要步骤,没有泛化/优化核心功能中发现的“混乱”。

贡献

贡献工具箱是最受欢迎的;bug报告,建议改变,数据集,新算法——任何你认为是相关的。看到贡献文件为进一步的细节。

许可证

许可证

援引Synaptus

如果你使用Synaptus工具箱在你的工作,你应该引用以下文章:

Skjelvareid, m . H。,(2022)。Synaptus: Matlab /八度工具箱为合成孔径超声波成像。开源软件学报,7(76),4185年,https://doi.org/10.21105/joss.04185

确认

  • 工具箱的主要元素是由m . h . Skjelvareid工作作为一个工业博士工作在TromsøBreivoll检验技术(钻头),挪威。工作的相等的部分经费由挪威研究委员会。
  • m . h . Skjelvareid欠好感谢托马斯Olofsson,介绍他与他相移移民和合作在多个出版物,以及Yngve Birkelund Yngvar拉森,博士学位顾问和合作者。

引用作为

马丁Skjelvareid (2023)。mh-skjelvareid / synaptusGitHub (https://github.com/mh-skjelvareid/synaptus/releases/tag/v1.1)。检索

Skjelvareid马丁·h·“Synaptus: Matlab /八度工具箱为合成孔径超声波成像。《开源软件,7卷,没有。76年,打开杂志,2022年8月,p。4185年,doi: 10.21105 / joss.04185。

查看更多的风格
MATLAB版本兼容性
创建R2012b
兼容任何释放
平台的兼容性
窗户 macOS Linux

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

版本使用GitHub缺省分支不能下载

版本 发表 发布说明
1.1

GitHub上看到这个版本发布说明:https://github.com/mh-skjelvareid/synaptus/releases/tag/v1.1

1.0.0.0

小修改描述

问题在这个视图或报告GitHub插件,参观GitHub库
问题在这个视图或报告GitHub插件,参观GitHub库