CT反投影滤波重建算法设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地理与生物信息学院
2012 / 2013 学年第二学期
实验报告
课程名称:医学图像处理和成像技术
实验名称:CT反投影滤波重建算法设计
班级学号: B10090405
学生姓名: 陈洁
指导教师: 戴修斌
日期:2013 年 5 月
一、实验题目:CT反投影滤波重建算法设计
二、实验内容:
1.显示图像;
2.获得仿真投影数据;
3.基于获得的仿真投影数据重建图像。
三、实验要求:
1.Shepp-Logan头模型:
画出Shepp-Logan头模型,简称S-L模型,头模型尺寸设定为128×128;
2.仿真投影数据的获得:
从头模型中获得投影数据,投影数据格式为180×185,即[0,179°]范围内角度每隔1°取样,每个角度下有185个探测器;
3.卷积反投影重建算法的实现:
基于获得的仿真投影数据重建图像,使用R-L卷积函数,重建尺寸为128×128。
四、实验过程:
实验1. Shepp-Logan头模型
①算法实现流程:
I. S-L头模型由10个位置、大小、方向、密度各异的椭圆组成,
象征一个脑断层图像。
Shepp-Logan头模型中的椭圆参数:
II. 使用循环语句给像素赋值:
for i=1:10
for x….
for y…..
判断点(x, y)是否在第i个椭圆内;
如是,则将第i个椭圆折射指数赋给点(x, y);
end
end
end
III. 显示仿真头模型:
使用imshow(f,[])函数显示出图像。
②实验代码:
clear all;
p=[0 0 0.92 0.69 pi/2 1
0 -0.0184 0.874 0.6624 pi/2 2
0.22 0 0.31 0.11 72/180*pi 0
-0.22 0 0.41 0.16 108/180*pi 4
0 0.35 0.25 0.21 pi/2 5
0 0.1 0.046 0.046 0 6
0 -0.1 0.046 0.046 0 7
-0.08 -0.605 0.046 0.023 0 8
0 -0.605 0.023 0.023 0 8
0.06 -0.605 0.046 0.023 pi/2 8];
N=256;
x=linspace(-1,1,N);
y=linspace(-1,1,N);
f=zeros(N,N);
for i=1:N
for j=1:N
for k=1:10
A=p(k,3);
B=p(k,4);
x0=p(k,1);
y0=p(k,2);
x1=(x(i)-x0)*cos(p(k,5))+(y(j)-y0)*sin(p(k,5));
y1=-(x(i)-x0)*sin(p(k,5))+(y(j)-y0)*cos(p(k,5));
if((x1*x1)/(A*A)+(y1*y1)/(B*B)<=1) %判断条件
f(i,j)=p(k,6);
end
end
end
end
f=rot90(f);
imshow(f,[])
③运行结果:
实验2. 获得仿真投影数据:
①算法实现流程:
I. θ∈ [00, 10, ..., 1790], s ∈[-92, -91, ..., 91,92];
II. 对于第i 个椭圆求出对应θ和s 的仿真投影数据:
其中,(x 0, y 0)为中心坐标,A 为长轴,B 为短轴,a 为旋转角度,ρ为折射指数。
III. 将10个椭圆求出的10个仿真投影数据全部累加起来即可得所要求的仿真投影数据: 。
②实验代码: clear all;
p=[0 0 0.92 0.69 pi/2 1
0 -0.0184 0.874 0.6624 pi/2 2
0.22 0 0.31 0.11 72/180*pi 3
-0.22 0 0.41 0.16 108/180*pi 4
0 0.35 0.25 0.21 pi/2 5
0 0.1 0.046 0.046 0 6
0 -0.1 0.046 0.046 0 7
-0.08 -0.605 0.046 0.023 0 8
0 -0.605 0.023 0.023 0 8
0.06 -0.605 0.046 0.023 pi/2 8];
g=zeros(180,185);
M=185;
s=linspace(-92/64,92/64,M);
for i=0:179
for j=1:M
for k=1:10
x0=p(k,1);
y0=p(k,2);
A=p(k,3);
B=p(k,4);
a=p(k,5); %角度
b=p(k,6); %折射指数
gg=b*2*A*B*sqrt(A*A*(cos(i/180*pi-a))^2+B*B*(sin(i/180*pi-a))^2-(s(j)-x0*cos
(i/180*pi)-y0*sin(i/180*pi))^2)/(A*A*(cos(i/180*pi-a))^2+B*B*(sin(i/180*pi-a))^2);
g(i+1,j)=g(i+1,j)+gg;
end
end
)
(sin )(cos )sin cos ()(sin )(cos 2)(22222
002222αθαθθθαθαθρθ-+-----+-=B A y x s B A AB s g i ∑==10
1)()(i i s g s g θθ