第1章 超声成像基础
1.1 超声物理原理——说白了就是声波那点事
超声成像,本质上就是向人体发射高频声波,然后接收回波。频率通常在2-18MHz之间。我个人习惯把超声探头想象成一个「声呐」,只不过它探测的不是海底,而是人体组织。
声波在组织中传播时,会遇到不同声阻抗的界面。声阻抗差越大,反射越强。比如骨骼和软组织的界面,反射就特别强,所以骨表面在图像上总是亮白的。我在项目中遇到过一个问题:当患者体内有金属植入物时,后方会出现大片黑色区域,这就是声影伪影。
核心公式(记住这个就够了):
声阻抗 Z = ρ × c
其中 ρ 为密度,c 为声速
反射系数 R = (Z₂ - Z₁)² / (Z₂ + Z₁)²
嗯,这里要注意:声波在人体软组织中的平均速度约为1540 m/s。这个数值在算法中经常用到,比如计算深度时。
1.2 B模式成像——最常用的灰度图
B模式,全称Brightness Mode。说白了就是把回波强度映射成灰度值。回波强的地方亮,回波弱的地方暗。这就是我们平时看到的黑白超声图像。
B模式成像的流程大致是这样的:
- 探头发射超声波束
- 接收不同深度的回波信号
- 进行对数压缩(动态范围压缩)
- 扫描转换(从极坐标到直角坐标)
- 显示在屏幕上
你想想看,原始回波信号的动态范围可能达到100dB以上,但显示器的动态范围只有20-30dB。所以必须做对数压缩。我刚开始做算法时,曾经因为压缩参数没调好,导致图像对比度极差,被临床医生骂了一顿。
我的经验:对数压缩的底数一般取10或e。底数越小,压缩越强,图像越柔和。底数越大,压缩越弱,细节越丰富。我个人习惯用log10,然后配合一个增益系数。
1.3 M模式成像——看运动的神器
M模式,全称Motion Mode。它其实是在B模式的一条扫描线上,把时间维度展开。横轴是时间,纵轴是深度,灰度表示回波强度。这样就能看到组织随时间的运动轨迹。
M模式最经典的应用是心脏超声。你可以看到二尖瓣的运动曲线,像一条波浪线。我记得有一次做胎儿心率检测,M模式清晰显示了胎儿心脏的搏动,比B模式直观多了。
M模式成像的关键参数:
| 参数 | 典型值 | 说明 |
|---|---|---|
| 扫描线位置 | 用户可调 | 在B模式图像上选择一条线 |
| 时间分辨率 | 1-5 ms | 取决于脉冲重复频率 |
| 显示时长 | 2-10秒 | 可滚动查看历史数据 |
1.4 多普勒成像——血流看得见
多普勒效应,你肯定听说过。火车靠近时声音变尖,远离时声音变低。超声多普勒成像就是利用这个原理来测量血流速度。
多普勒成像主要有三种:
- 频谱多普勒(PW/CW):显示血流速度随时间的变化曲线。PW有距离选通,CW没有。
- 彩色多普勒:在B模式图像上叠加彩色血流信息。红色通常表示朝向探头,蓝色表示远离。
- 能量多普勒:只显示血流的存在与否,不显示方向。对低速血流更敏感。
我曾经在彩色多普勒的壁滤波参数上栽过跟头。壁滤波是用来滤除血管壁运动的低频信号。如果滤波太强,会把低速血流也滤掉;如果太弱,血管壁的闪烁伪影就会干扰图像。这个参数需要根据具体应用场景来调。
避坑指南:我曾经因为多普勒角度校正没做好,导致血流速度测量值偏差了30%。记住,多普勒频移与血流方向和声束方向的夹角余弦成正比。夹角越大,误差越大。临床上一般要求夹角小于60度。
1.5 超声图像特点与伪影——算法工程师的噩梦
超声图像有几个显著特点,也是算法处理的难点:
- 斑点噪声:这是超声图像固有的,由散射体之间的干涉造成。看起来像细小的颗粒。
- 衰减:声波在组织中传播时能量逐渐减弱。深部组织通常更暗。
- 各向异性:某些组织(如肌腱)在不同角度下回波强度差异很大。
常见的伪影包括:
| 伪影类型 | 表现 | 产生原因 |
|---|---|---|
| 声影 | 强反射体后方出现黑色区域 | 声波被完全反射或吸收 |
| 增强 | 液性区域后方出现亮区 | 声波衰减减小 |
| 混响 | 等间距的平行亮线 | 声波在探头表面和组织之间多次反射 |
| 旁瓣 | 强反射体旁边的虚假图像 | 旁瓣波束接收到回波 |
嗯,这里要特别说一下斑点噪声。很多初学者以为斑点噪声是随机噪声,可以用均值滤波去掉。其实不是。斑点噪声是乘性噪声,与组织结构相关。用均值滤波会模糊边界。我建议用各向异性扩散滤波或者小波变换来处理。
算法工程师的忠告:处理超声图像前,一定要先理解伪影的物理成因。否则你设计的算法可能在正常图像上表现很好,一到临床数据就崩了。我曾经花了两周时间设计一个边缘检测算法,结果在胆囊图像上把混响伪影当成了真正的组织边界,检测结果一塌糊涂。
超声成像基础就讲到这里。下一章我们会深入讨论超声图像预处理算法,包括去噪、增强和归一化。到时候我会分享一些实际项目中用到的代码片段。