【图像重建】使用FDK的三维谢普洛根幻影重建(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

一、FDK算法概述

二、三维谢普洛根幻影

三、使用FDK算法进行三维谢普洛根幻影重建的步骤

四、研究恩典

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

Feldkamp,Davis and Kress(1984)提出一种基于圆轨道锥束重建的近似算法,这就 是我们现在的 FDK 算法。目前 FDK 是圆轨道锥束重建中最实用的算法。当锥角小于 5 度 的时候,可以得到不错的重建效果,但是随着锥角的增大 FDK 会带来越来越严重的伪影。 (图 4.1)

锥束重建的几何结构如图 4.2 所示。

 

 当扫描轨道在一个平面内时,比如圆轨道,锥束的投影数据是不完备的[8],因此只能进行近似重建。FDK算法实际上是二维扇束滤波反投影算法的三维推广,它首先对偏离中心平面的投影数据进行加权,然后利用类似与扇束算法的滤波反投影对物体进行重建。它具体过程可以分为以下两步[1]: 首先对投影数据进行加权滤波:

在探讨使用FDK(Feldkamp, Davis, and Kress)算法进行三维谢普洛根幻影(Shepp-Logan Phantom)图像重建的研究时,我们可以从以下几个方面进行概述:

一、FDK算法概述

FDK算法是一种基于圆轨道锥束重建的近似算法,它实际上是二维扇束滤波反投影算法的三维推广。该算法在锥角较小(如小于5度)时,能够取得较好的重建效果。然而,随着锥角的增大,FDK算法可能会带来较为严重的伪影。FDK算法的具体过程主要包括对投影数据的加权滤波和滤波反投影重建两个步骤。

二、三维谢普洛根幻影

谢普洛根幻影(Shepp-Logan Phantom)是一种常用于计算机断层成像(CT)研究和算法验证的标准测试图像。该图像由多个椭圆和圆形组成,具有明确的边界和不同的灰度值,非常适合用于评估图像重建算法的性能。

三、使用FDK算法进行三维谢普洛根幻影重建的步骤

  1. 生成投影数据
    • 首先,使用Radon变换(或类似的投影方法)对三维谢普洛根幻影进行投影,生成一系列的投影数据。这些投影数据可以模拟CT扫描过程中探测器接收到的X射线强度信息。
  2. 加权滤波
    • 对投影数据进行加权滤波处理。这一步是为了校正由于扫描几何结构(如圆轨道扫描)导致的数据不完备性,并减少重建过程中的伪影。
  3. 滤波反投影重建
    • 使用滤波后的投影数据进行反投影重建。这一步骤类似于二维扇束滤波反投影算法,但需要在三维空间中进行。通过反投影,可以将投影数据转换回三维图像空间,从而得到重建后的三维谢普洛根幻影图像。

四、研究恩典

在使用FDK算法进行三维谢普洛根幻影重建的研究中,可以重点关注以下几个方面来体现研究的恩典(即研究的意义和价值):

  1. 算法性能评估
    • 通过与原始三维谢普洛根幻影图像进行对比,评估FDK算法在重建精度、伪影抑制等方面的性能。这有助于了解FDK算法在实际应用中的优缺点,并为其改进提供依据。
  2. 参数优化
    • 研究不同参数(如锥角、滤波器类型等)对FDK算法重建效果的影响,通过优化参数来提高重建图像的质量。这有助于发挥FDK算法的潜力,并推动其在更广泛领域的应用。
  3. 算法拓展与应用
    • 探索将FDK算法应用于其他类型图像或场景的可能性,如医学CT成像、工业无损检测等。通过拓展算法的应用范围,可以进一步推动相关领域的发展,并为社会带来更大的福祉。

综上所述,使用FDK算法进行三维谢普洛根幻影重建的研究不仅有助于评估算法性能、优化参数,还可以推动算法在更广泛领域的应用和发展。这一研究对于推动计算机断层成像技术的进步具有重要意义。

📚2 运行结果

 部分代码:

n=180;%num of views,options 180,36,10
I = phantom(256); 
M = 256;
% 对投影做傅里叶变换
R=radon(I,0:179);
width=length(R);
filter=2*[0:round(width/2-1), width/2:-1:1]'/width;
% 每一列做傅里叶变换
r_fft=fft(R,width); 
% 每一列做傅里叶变换后滤波
r_fft_filter=r_fft.*filter; 
%滤波后反变换(real取实部)
proj_ifft=real(ifft(r_fft_filter));
theta=linspace(0.5*pi,1.5*pi,180);
%反投影到x轴,y轴
fbp = zeros(256); % 假设初值为0

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]刘亮. 基于FDK的高精度锥束CT重建算法研究[D].中北大学,2007.

[2]郑晗. 用GPU加速基于FDK的全三维图像重建[C]//中国生物医学工程学会医学物理分会(Chinese Society of Medical Physics),北美华人医学物理师协会(North American Chinese Medical Physicist Association).长城2008国际医学物理大会暨第14届中国医学物理学术年会论文集.[出版者不详],2008:229-230.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值