4. 计算机断层扫描(CT)原理:从数学到工程的跨越

大家好,我是老张。在医学成像领域摸爬滚打了十几年,CT 是我个人觉得最「数学」的一个成像模态。你想想看,一堆投影数据,怎么就能变成一张清晰的断层图像?这背后其实藏着两个核心的数学工具:拉东变换和中心切片定理。今天咱们就把这块硬骨头啃下来。

4.1 CT 的数学基础:拉东变换与中心切片定理

先说拉东变换。说白了,它就是描述「投影过程」的数学语言。一个物体在某个角度下的投影,就是沿着该方向所有衰减系数的线积分。我习惯把它想象成「用一束平行光从侧面照一个物体,在对面墙上看到的影子」。这个影子就是拉东变换的结果。

核心公式(简化版):

P(θ, t) = ∫∫ f(x,y) δ(x cosθ + y sinθ - t) dx dy

其中 f(x,y) 是物体的衰减系数分布,P(θ, t) 是在角度 θ 下、偏移量为 t 的投影值。δ 函数负责「只取那条直线上的点」。

那中心切片定理又是什么?它告诉我们一个非常漂亮的关系:投影的一维傅里叶变换,等于物体二维傅里叶变换中过中心的一条线。换句话说,每个角度的投影,都对应着频域空间里的一条「切片」。你收集足够多角度的投影,就能填满整个频域空间,再反变换回去,图像就出来了。

我个人经验: 刚入行时,我总觉得中心切片定理就是个理论玩具。直到有一次做 CT 系统仿真,发现直接反投影出来的图像模糊得不行,才意识到——这个定理才是理解「为什么需要滤波」的关键。没有它,你根本不知道频域里缺了什么。

4.2 CT 的扫描方式:从平移旋转到锥形束

数学搞清楚了,咱们来看看工程上怎么实现。CT 扫描方式经历了三代演变,我挑三个最有代表性的讲。

4.2.1 平移旋转扫描(第一代 CT)

这是最原始的方式。一个 X 射线源加一个探测器,先平移扫一条线,然后旋转一个角度,再平移扫一条线。速度慢得令人发指——扫一个脑袋要几分钟。我在实验室见过一台老古董,开机时像拖拉机一样响。

4.2.2 螺旋 CT(第三代主流)

这个改进太聪明了。患者躺在检查床上匀速移动,X 射线管和探测器持续旋转。扫描轨迹就像一根弹簧,所以叫「螺旋」。好处是速度快、覆盖范围大,而且可以任意重建出不同位置的断层图像。

关键参数:

  • 螺距(Pitch): 床移动速度 / 层厚。螺距越大,扫描越快,但图像质量会下降。
  • 重建间隔: 相邻两层图像之间的距离。可以小于层厚,实现重叠重建。

4.2.3 锥形束 CT(CBCT)

这个我得多说两句。锥形束 CT 用的是面探测器,一次曝光就能覆盖一个较大的体积。口腔科、骨科用得特别多。但问题也来了——锥形束的投影不是平行束,而是扇形束甚至锥形束,中心切片定理不能直接用了。怎么办?后面讲算法时会提到。

避坑指南: 我曾经在 CBCT 系统上吃过亏。当时直接套用平行束的重建算法,结果图像边缘全是伪影。后来才意识到,锥形束的几何关系必须精确标定,探测器倾斜 0.1 度,重建出来的图像就歪了。

4.3 CT 图像重建算法:从反投影到迭代重建

有了投影数据,怎么变成图像?这就是重建算法的事。我按历史发展顺序讲,这样你更容易理解为什么后来的算法更好。

4.3.1 反投影(Back Projection)

最直观的想法:把每个角度的投影值「抹回」到对应的路径上。所有角度叠加起来,就得到一幅图像。但问题很明显——图像是模糊的。为什么?因为反投影本质上是在做「平均」,低频成分被过度放大,高频细节丢失了。

我的理解: 反投影就像用一支粗笔在纸上画线,画得越多,线条越粗越模糊。你需要一支细笔才能画出清晰的轮廓。这支「细笔」就是滤波。

4.3.2 滤波反投影(Filtered Back Projection, FBP)

这是目前临床 CT 最常用的算法。思路很简单:在反投影之前,先对投影数据做一次滤波。滤波器的形状决定了图像的清晰度和噪声水平。常用的滤波器有 Ram-Lak、Shepp-Logan 等。

// 伪代码示例:滤波反投影
for each angle θ:
    P_filtered = FFT(P(θ)) * Filter  // 频域滤波
    p_filtered = IFFT(P_filtered)     // 变回时域
    back_project(p_filtered)          // 反投影到图像空间

滤波器选择经验:

  • Ram-Lak 滤波器: 理想高通,图像最锐利,但噪声也最大。适合高剂量扫描。
  • Shepp-Logan 滤波器: 加了平滑,噪声小一些,适合低剂量。
  • 自定义滤波器: 我习惯在临床项目中根据扫描部位调整截止频率。比如肺部 CT 用锐利一点,腹部 CT 用平滑一点。

4.3.3 迭代重建(Iterative Reconstruction)

这是近十年的主流方向。FBP 虽然快,但噪声和伪影控制能力有限。迭代重建的思路是:先猜一张图像,计算它的投影,和真实投影比较,然后修正图像,再重复。直到误差足够小。

迭代重建的好处很明显:

  • 低剂量成像: 可以在更少的投影数据下重建出高质量图像。我做过对比,迭代重建在 1/4 剂量下,图像质量不输 FBP 的全剂量。
  • 伪影抑制: 金属伪影、运动伪影都能有效处理。
  • 模型灵活: 可以加入噪声模型、系统几何模型等先验知识。

注意: 迭代重建的代价是计算量大。早期一个病例要算几十分钟,现在有了 GPU 加速,几十秒就能搞定。但如果你在嵌入式系统上做,还是要慎重选择算法复杂度。

4.4 知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了。你一看就明白:数学基础、扫描方式、重建算法这三块是怎么互相支撑的。

CT 成像核心原理知识体系 数学基础 拉东变换(投影的数学描述) 中心切片定理(频域桥梁) 扫描方式 平移旋转(第一代) 螺旋 CT(第三代主流) 锥形束 CT(CBCT) 重建算法 反投影(模糊,已淘汰) 滤波反投影(FBP,临床主流) 迭代重建(低剂量趋势)

嗯,这张图你看懂了吗?从上到下,数学基础决定了你能做什么,扫描方式决定了你得到什么数据,重建算法决定了你最终看到什么图像。三者缺一不可。

最后说一句: 如果你刚开始学 CT,我建议你先吃透滤波反投影。迭代重建虽然时髦,但 FBP 是理解所有重建算法的基石。我在带新人时,第一件事就是让他们手写一个 FBP 程序,跑通之后再谈别的。


公众号:蓝海资料掘金营,微信deep3321