基于Radon变换的CT成像原理模拟系统
项目介绍
本项目是一个基于MATLAB开发的计算机断层扫描(CT)成像原理深度仿真系统。该系统旨在通过数学建模方法,完整模拟CT扫描仪从物理信号采集到数字图像重建的闭环过程。系统核心基于Radon变换理论,通过模拟X射线的投影路径,并应用滤波反投影(Filtered Back-projection, FBP)算法实现图像的无损或低损重建。本工具不仅演示了CT成像的基本物理逻辑,还通过对比不同算法组件,揭示了数字信号处理在医学影像中的关键作用。
功能特性
- 标准幻像生成:内置医学标准的Shepp-Logan幻像生成功能,提供高精度的仿真原始数据。
- 投影数据采集:模拟CT扫描仪的旋转探测过程,通过Radon变换生成反映投影强度的正弦图(Sinogram)。
- 多样化滤波选择:支持多种频域滤波器,包括Ram-Lak、Shepp-Logan及Hamming滤波器,用于消除反投影产生的伪影。
- 自定义反投影实现:不依赖现成黑盒函数,通过坐标变换与线性插值演示底层的反投影累加逻辑。
- 结果量化评估:通过均方误差(MSE)和峰值信噪比(PSNR)指标,定量分析重建图像与原始图像的相似度。
- 多维可视化展示:包含原始图像、正弦图、未滤波对比图、FBP重建图、误差热力图及中心剖面曲线的六合一可视化展示。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 必备工具箱:Image Processing Toolbox(用于调用phantom和radon基础函数)。
- 硬件建议:至少4GB运行内存,以支持高维矩阵运算。
详细系统逻辑说明
系统的主程序严格执行以下逻辑步骤:
- 参数初始化:
设置图像分辨率(默认256x256)、采样角度步长(1度)以及投影范围(0至179度)。同时预设核心重建滤波器类型为Ram-Lak。
- 物理阶段模拟:
生成Shepp-Logan数字幻像。调用Radon变换函数模拟放射线从不同角度穿过人体组织的过程,输出数据为正弦图。该正弦图的纵轴代表传感器位置,横轴代表扫描角度。
- 图像重建阶段:
系统执行两条技术路线进行比对:
- 直接反投影:不经过任何频域滤波直接进行空间域反投影,用于演示典型的1/r模糊效应。
- 滤波反投影 (FBP):先将正弦图变换至频域,根据预设滤波器进行加权修正,再返回空域进行反投影累加。
- 误差分析逻辑:
对重建结果与原始图像进行归一化处理,计算像素级差值。生成绝对误差图以观察结构性失真,并计算PSNR值以评估整体质量。
- 交互式可视化:
通过图形界面输出六个子图。特别包含了中心行的数据剖面图,通过重叠对比原始像素曲线与重建像素曲线,直观反映算法的细节还原能力。
关键算法与实现细节分析
- 频域滤波器设计:
在自定义的反投影函数中,通过构造频率响应函数H来实现。Ram-Lak滤波器作为基础(绝对值函数),通过滤除高频伪影或增强特定频段来优化图像质量。Shepp-Logan滤波器在Ram-Lak基础上引入了sinc函数以进一步平滑噪声。
- 空间域反投影实现:
程序利用旋转投影几何原理。通过构建图像坐标矩阵,计算每个采样点在对应角度下映射到传感器的几何位置(t = x*cosθ + y*sinθ)。
- 线性插值技术:
由于计算出的投影位置通常不落在离散的传感器索引上,系统采用了线性插值方法。这一环节保证了在旋转过程中投影值能够精确地回传分配给重建矩阵的像素点,减少了数字化带来的锯齿效果。
- 归一化与数据一致性:
系统在最后的反投影累加结果上乘以后验归一化因子(pi / (2 * 角度数)),确保了重建图像的亮度级与原始图像具有可比性,为后续计算MSE和PSNR奠定了基础。