医学CT成像的迭代算法 SART和OS-SART算法

医学CT成像的迭代算法 SART和OS-SART算法

前言

由测量得到的投影数据恢复到真实的CT图像,这一任务目前分为两类算法,第一种就是以反向投影FBP为主的算法,第二类则是迭代的算法(IR),本文所提到的SART和其改进版本OS-SART均为迭代算法,即需要一定的运算时间。

对于算法的证明与解析本文并不涉及,只是单纯从下面这篇论文中翻译对应的部分罢了。因为发现网上对于OS-SART的解析甚少。

论文连接

论文连接An Improved Ordered-subset Simultaneous Algebraic Reconstruction Technique

任务描述

这本质上是一个图像的重建问题,即从投影图像到真实图像的一个映射,其映射的关系需要我们重建出来,对真实模型进行合理简化,整个任务可以描述为一个线性系统:

R x = y (1) \bold{R}\bold{x}=\bold{y}\tag{1} Rx=y(1)

其中 y = ( y 1 , y 2 , . . . , y l ) T y=(y^1, y^2, ..., y^l)^T y=(y1,y2,...,yl)T是测量得到的投影数据, x = ( x 1 , x 2 , . . . , x J ) T x=(x_1, x_2, ..., x_J)^T x=(x1,x2,...,xJ)T是我们不知道的真实图片(也是要求的),我们认定 R = ( r i j ) I × J \bold{R}=(r_{ij})_{I\times J} R=(rij)I×J是响应矩阵(response matrix), r i j r_{ij} rij表示了第j个像素与第i条射线交线的长度,因此 r i j r_{ij} rij是非负的。需要注意,大部分像素并不与射线相交,故 R \bold{R} R实际上非常稀疏。

SART

算法公式如下:
x j ( l + 1 ) = x j ( l ) + λ l ∑ i = 1 I r i j R + , j ( y i − R i x ( n ) ) R i , + (2) x_j^{(l+1)} = x_j^{(l)} + \lambda_l\sum_{i=1}^I\frac{r_{ij}}{R_{+,j}}\frac{(y^i - R^ix^{(n)})}{R_{i,+}}\tag{2} xj(l+1)=xj(l)+λli=1IR+,jrijRi,+(yiRix(n))(2)
R i , + = ∑ j = 1 J ∣ r i j ∣ , i = 1 , 2 , . . . , I {R_{i,+}} = \sum_{j=1}^J|r_{ij}|, i=1, 2, ..., I Ri,+=j=1Jrij,i=1,2,...,I
R + , j = ∑ i = 1 I ∣ r i j ∣ , j = 1 , 2 , . . . , J R_{+,j}= \sum_{i=1}^I|r_{ij}|, j=1, 2, ..., J R+,j=i=1Irij,j=1,2,...,J

其中 R i R^i Ri是矩阵 R R R的第i行, λ l \lambda_l λl是对第 l l l次迭代的松弛系数。该方法实际是Landweber方法对于 R x = y Rx=y Rx=y的最小二乘解的收敛。

OS-SART

为了加速SART的迭代速率,该方法实际上可以理解为把原来一个大的计算分为好几个子集进行迭代。具体算法也是如此。

令投影数据为 y = ( y 1 , y 2 , . . . , y l ) T y=(y^1, y^2, ..., y^l)^T y=(y1,y2,...,yl)T,将这些投影数据分配到几个有序集合中: S 1 , S 2 , . . . , S T S_1, S_2, ..., S_T S1,S2,...,ST,其中 T T T是设定好是OS等级(OS level,大概意思就是要分几组),于是算法可以写成以下形式:

x j ( l + 1 ) = x j ( l ) + λ l ∑ i ∈ S [ l ] r i j ∑ i ∈ S [ l ] ( y i − R i x ( n ) ) R i , + (2) x_j^{(l+1)} = x_j^{(l)} + \lambda_l\sum_{i\in S_{[l]}}\frac{r_{ij}}{\sum_{i\in S_{[l]}}}\frac{(y^i - R^ix^{(n)})}{R_{i,+}}\tag{2} xj(l+1)=xj(l)+λliS[l]iS[l]rijRi,+(yiRix(n))(2)

其中 [ l ] = l ( m o d T ) + 1 , l ≥ T [l]=l(mod T)+1, l\geq T [l]=l(modT)+1,lT.

  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值