天天看点

迭代重建算法

1.投影矩阵

书中介绍了4种模型,常用的是模型4,用两个二维数组[M, 2N]分别存储射线(1~M)穿过的网格编号(1~N)以及在对应网格的线段长度(0~√2),如下面左图所示。

迭代重建算法
迭代重建算法

射线与网格只有四种相交情况,如图所画4条射线。 假设射线与第一格交点A,与第二格交点B,而交点A,B与第一个网格底边距离为d1和d2,该射线方程为y=mx+b,则可用d1,d2,m和b来表示该射线在该网格的长度;并依次往后推算(书P97页) 具体实现代码见medfuncSystemMatrix.m

输入:投影角度,矩阵大小,探测器通道数,网格大小

输出:投影矩阵(射线穿过网格的编号以及长度)

2.MLEM算法

遍历每条射线,即可得到该射线在所有网格的对应长度,再乘以权重,即为估计的投影值,与实际投影值比较后,得到比值向量;再将比值向量和真实全1向量进行反投影,得到修正因子,通过迭代,不断更新权重,已接近真实图像 具体实现代码见mlem.m

2.1点源重建结果:

迭代重建算法

 2.2头模型重建结果

迭代重建算法

3.OSEM算法

在MLEM算法的基础上划分子集,具体代码见osem.m

划分子集:     

划分要求:子集平衡;子集排序     

划分方案:间隔子集划分,将射线平均划分到每个子集中,并记录射线编号

迭代重建算法

 以上实验内容均学习整理于黄力宇老师等著《医学断层图像重建仿真实验》。

继续阅读