CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)

一、图像重建算法分类

CT图像重建算法主要有3类:1、反投影法;2、迭代重建算法;3、解析法:包括滤波反投影法和傅里叶变换法

二、迭代重建算法分类

迭代重建算法在求解的过程中需要不断地求解矩阵元素,目前系统矩阵的建模方式主要分为4种,分别为
(1)像素驱动模型(2)射线驱动模型(3)距离驱动模型(4)面积积分模型。

(1)像素驱动模型(PDM)通常应用在FBP重建反投影的计算;

(2)射线驱动模型(RDM)多用于迭代算法中的正向投影算法,这种模型下,射线不再看作是有宽度的,它的原理是通过对射线经过的像素进行加权求和来模拟线积分。根据不同的加权模型,其算法实现也不同。
  包括:Joseph算法(使用线性插值)、Siddon算法(使用临近插值,也是射线驱动模型中最经典算法)
  其中Joseph算法使用线性插值模型,其重建质量比Siddon算法要理想,但由于计算量大导致重建速度较慢。
(3)距离驱动模型(DDM)相较于前两种模型较为先进。这种模型下考虑到了像素与探测器单
元的宽度。另还有改进的距离驱动模型(IDDM);

(4)面积积分模型(AIM)将射线穿过像素时与像素单元边界形成的图形面积作为权
因子。
本文主要介绍迭代重建算法中的距离驱动投影算法

三、距离驱动算法原理

距离驱动算法与Joseph算法相似,只是计算权重的方式不同。
同样的,先从二维平面来说,如图1所示:
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第1张图片
                      图1 距离驱动算法原理图
  对于二维平面来说,距离驱动的思想是图像像素沿着射线方向可以映射到探测器上的一个确定位置,因此可以计算出图像像素映射和探测器像素的重叠长度,将重叠长度归一化后作为累加权重即得到投影值。对于三维情况下,就相当于计算射线穿过的某体素的体积映射到探测器平面上的面积。
  对于投影轴的选择,同样的:
  若射线更平行于Y轴,则在Y轴上求和,在X轴上插值。也就是在X轴上投影,最后在Y轴方向求和。
  反之,若射线更平行于X轴,则在X轴上求和,在Y轴上插值。也就是在Y轴上投影,最后在X轴方向求和。
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第2张图片
                         图2 射线的两种情况

  以在X轴投影为例,二维情况下,重建图像被看作一个给定大小的网格像素图像(m*n),像素大小为p。在模拟投影过程中,首先连接焦点和探测器像素中心,并将射线映射到每一行/列像素的中心线(映射轴),比如在X轴投影,则将映射轴设为每一列的行的中心线,如图2所示。
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第3张图片

                           图3 虚拟投影轴示意图
  焦点与探测器上某一像素的左右边界中心点连线可以得到两条射线L1、L2,这两条射线将与虚拟投影轴相交于两点coord1、coord2,遍历体素所有的映射点,即体素边界中点,计算两个映射点之间的距离,然后用这些长度来决定图像像素对探测器像素的贡献值。
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第4张图片
                      图4 距离驱动投影值计算方式示意图
假如对于一个虚拟轴上所有点映射结果如图4所示:
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第5张图片
                      图5 距离驱动映射点细节放大图
其中P1、P2表示体素边界中心点,D1-D11表示探测器上各边界与焦点连线与虚拟投影轴的交点,则此行图像像素对探测器像素的贡献就可以写成:
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第6张图片
  上式表达的意思是,探测器像素D3,4部分得到的投影值是全部由P1,2贡献的;而探测器像素D5,6部分的投影值是由体素P1,2和P2,3两部分体素的贡献组成的,而具体贡献值为多少,就由体素边界点的位置距离决定,也就是P2-D5、D6-P2,这个值也就是线性插值计算像要求得的权因子。具体过程为(以X轴插值为例):
  1)判断相交,寻找交点
  首先确定采样角以及所要使用的探测器像素确定射线L,而后判断L是否与重建区域相交,若相交,相交在哪一层像素的中心点所在平面上,并求出交点坐标。判断相交的方式为遍历重建区域每一层像素中心点平面,也就是每一层中心点的纵坐标,判断射线是否与当前遍历的层相交,若相交则求出交点坐标,若不想交则继续遍历下一层。
  (2)计算权因子
  对于有交点的那一层,开始利用上述方式计算权因子。
(3)
  当某一采样角度下,当前探测器像素对应的射线在某一层的插值结算结束后,即寻找下一个相交的层继续计算;
  当所有层遍历结束后,转换到下一个探测器像素,继续以上步骤;
  当所有探测器像素均计算完毕后,就继续下一个采样角度的所有计算。
  至此,一个简单的维距离驱动算法过程执行完毕。

四、三维距离驱动算法

同样的,三维距离驱动算法原理是与二维一致的,探测器由单排变成多排,同样不考虑探测器的高度,三维CT系统光束一般为锥束,结果原理图如图6所示,只是需要考虑两个观察角度下的权因子,三维与二维不同的需要改动的部分有:
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第7张图片
(图仅为示意图,实际坐标系建立需根据自己,本人建立的坐标系是S、O、D三点在Y轴上,探测器长边沿Y轴,短边沿Z轴)
(1)对于三维算法中,探测器两边界对应的射线产生的投影值是由两个平面共同决定的,例如在X轴投影的情况下,需要观察XOY平面和YOZ两个平面产生的权重,两者进行相乘运算才得到最终的权因子;
(2)在计算权因子时,存在探测器接收到1个、2个甚至3个体素的共同作用,在编写程序时需要注意考虑多体素情况,不要漏下中间体素。
(3)边界情况与Joseph算法相比较简单,只需要判断交点是否在重建区域内部即可,不存在最大允许距离。即探测器边界射线的交点在重建区域外侧(不包括重合情况)就认为不相交。
(4)在计算权因子过程中,涉及到计算探测器上各体素投影的贡献值,这个值是根据在探测器像素中投影的长度占比确定的,因此,若有多个体素对同一探测器像素有影响时,涉及到计算多端距离,这时线段计算的顺序是没有要求的,即从负轴-正轴或是从正轴-负轴都可以。如图中所示,从左向右计算和从右向左计算都可,因为最终需要将每一段的距离与另一个视角所得距离分别相乘,即卷积运算,运算结果在最终的权因子计算中进行加和,因此不分先后。
CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)_第8张图片

你可能感兴趣的:(算法,1024程序员节,图像处理,算法,matlab)