实验一平行束投影数据采集与滤波反投影重建实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告

学生姓名:胡文松学号: 6103413007 专业班级:生医131班

实验类型:□验证□综合■设计□创新实验日期: 20160509 实验成绩:

实验一、平行束投影数据采集与滤波反投影重建实验

一、实验目的及要求:

用程序模拟X射线的投影,获得Shepp-Logan模型的投影数据。对获得的投影数据进行滤波反投影重建,获得Shepp-Logan模型的重建图像。

二、实验基本原理:

X射线穿过人体时,人体的各种组织对X射线有不同程度的衰减,即不同的组织有不同的线性衰减系数μ。假设强度为I0的X射线穿过均匀分布衰减系数为μ的物体,行进了x的距离,强度变为I,按Beer定理有

或①

若物体时分段均匀的,系数分别是μ1、μ2、μ3、...,相应的长度为x1,x2,x3,...,则下式成

立:

更一般的可用下面的积分式表示:

由于只是模拟X射线的投影过程,我们简化了问题。假设断面的结构如图 1.1(Shepp-Logan)所示(各图元均为椭圆),各个椭圆表示了人体的不同的组织(内部是均匀的),分别有不同的线性衰减系数μ。那么,就可利用公式②来求某条X射线投影值。各个椭圆(组织)的线性衰减系数μ(Shepp-Logan图的各椭圆的位置、大小和线性衰减系数参见表1.1)是已知的,问题就是球X射线穿过椭圆时的行进距离。设椭圆的长短轴为a,b;X射线与b的夹角为Φ;椭圆中心到X射线的距离为d。如图1.2所示。这样可由④⑤求得X射线穿过椭圆时的行进距离。再乘上各个椭圆的线性衰减系数μ后累加起来就可得到X 射线的投影值。

图1.1 图1.2

表1.1Shepp-Logan头部模型

参数编号cx(中心x座标) yx(中心y座标) a(水平轴) b(垂直轴) r(椭圆倾角) μ(线性衰减系数)

1 0.5538 -0.3858 0.033 0.206 -18 0.03

2 0.06 -0.605 0.02

3 0.023 0 0.01

3 0 -0.605 0.023 0.023 0 0.01

4 -0.08 -0.60

5 0.04

6 0.023 0 0.01

5 0 -0.1 0.04

6 0.046 0 0.01

6 0 0.1 0.046 0.046 0 0.01

7 0 0.35 0.21 0.25 0 0.01

8 -0.22 0 0.16 0.41 18 -0.02

9 0.22 0 0.11 0.31 -18 -0.02

10 0 -0.0184 0.6624 0.874 0 -0.98

11 0 0 0.69 0.92 0 1

表1.1 r的单位是角度,μ为负值时表示削弱原有椭圆的衰减系数

利用滤波反投影重建算法,实现对Shep-Logan头模型的重建。要用到的原理有:傅立叶切片定理、快速傅立叶变换FF T以及滤波函数的设计。

三、主要仪器设备及实验耗材:

具有XP或2000系统,并装有MATLAB系统的PC机。

四、实验内容及结果:

1.用MATLAB图像处理工具箱的phantom生成Shep-Logan头模型;

P=phantom(256);

imshow(P)

2.用MATLAB中的radon函数获得Shepp-Logan模型的投影数据;

计算Shep-Logen头模型18个角度、36个角度、90个角度和180个角度的投影数据。theta1=0:10:170;[R1,xp]=radon(P,theta1);

theta2=0:5:175;[R2,xp]=radon(P,theta2);

theta3=0:2:178;[R3,xp]=radon(P,theta3);

theta4=0:1:179;[R3,xp]=radon(P,theta4);

显示投影数据:

figure,imagesc(theta1,xp,R1);xlabel(’\theta’);ylabel(’x\prime’);

figure,imagesc(theta2,xp,R2);xlabel(’\theta’);ylabel(’x\prime’);

figure,imagesc(theta3,xp,R3);xlabel(’\theta’);ylabel(’x\prime’);

figure,imagesc(theta4,xp,R4);xlabel(’\theta’);ylabel(’x\prime’);

3.用MATLAB中的i radon函数对获得的投影数据进行滤波反投影重建,获得Shepp-Logan 模型的重建图像。

I1=iradon(R1,10);

I2=iradon(R2,5);

I3=iradon(R3,2);

I4=iradon(R4,1);

显示重建图像:

imshow(I1);

imshow(I2);

imshow(I3);

imshow(I4);

4.用MATLAB中的i radon函数对获得的投影数据进行直接反投影重建,同3中的重建图像进行比较。

I11=iradon(R1,10,‘None’);

I22=iradon(R2,5,‘None’);

I33=iradon(R3,2,‘None’);

I44=iradon(R4,1,‘None’);

五、实验小结

本次实验内容较少,通过本次实验我了解了反投影重建算法的方法.了解了利用 radon 和 iradon 函数实现平行束投影和反投影重建算法。了解了利用 fanbeam 和 ifanbeam 函数实现扇形束投影和反投影重建算法。对Shepp‐Logan 模型的投影不同角度的图行有了直观的了解。

相关文档
最新文档