1 简介
FDK 重建算法是一种近似的重建方法,即它是把所有不通过几何中心平面的锥束投影数据近似地看做是几何中心平面的扇束经过倾斜一个角度得到的投影数据,然后对投影数据进行修正,最后使用扇束滤波反投影算法进行重建。实际上FDK 重建方法也是一种滤波反投影算法。
根据Feldkamp、Davis和Kress等学者所做的研究工作,可知实现FDK重建算法,必须满足以下条件:探测器-射线源两者固定不动,被扫描物体绕垂直轴作自旋运动;被扫描物体必须完全处于 X 射线源的锥束范围内;X 光射线源必须为点光源;重建结果采用体素模型表示。 为了方便分析和实现 FDK 重建算法,人们提出了虚拟探测器这个概念。虚拟探测器与实际的探测器平行,且位于载物台的旋转中心轴上。
2 部分代码
clear all
close all
head =phantom(256);
%获得扇形束等距离投影数据
D = 512; %射线源到图象中心的距离
[shade] = fanbeam(head,D,'FanSensorGeometry','line','FanSensorSpacing',1); %%%%获得投影数据 线形检测器 通道数sp 旋转角度360。
figure;
imshow(shade,[]);title('360度投影数据');
clear Xangle;
figure
subplot(121);
imshow(re,[])
title('重建后的图象');
subplot(122);
imshow(head,[])
title('原始图象');
p1 = re(128,:);
p2 = head(128,:);
figure
plot(p1,'r');
hold on
plot(p2,'b')
title('红---重建图象 蓝---原始图象')
3 仿真结果
4 参考文献
[1]张斌, 潘晋孝. 三维图像重建P—FDK算法的一种改进方法[J]. 期刊论文, 2009.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。