医学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.

相关推荐

  1. 医学CT成像算法 SARTOS-SART算法

    2024-02-06 01:38:01       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 01:38:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 01:38:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 01:38:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 01:38:01       18 阅读

热门阅读

  1. 循环神经网络(RNN)简介与应用

    2024-02-06 01:38:01       29 阅读
  2. 13、gitlab

    2024-02-06 01:38:01       34 阅读
  3. 数据结构之快速排序

    2024-02-06 01:38:01       32 阅读
  4. 网络安全简介

    2024-02-06 01:38:01       28 阅读
  5. 《微信小程序开发从入门到实战》学习九十九

    2024-02-06 01:38:01       34 阅读
  6. C# Avalonia 11.0.6 绘图

    2024-02-06 01:38:01       29 阅读
  7. SQL的函数类型

    2024-02-06 01:38:01       35 阅读
  8. 【工具】使用asciidoctor-pdf将adoc文件转换成pdf

    2024-02-06 01:38:01       31 阅读
  9. linux使用docker安装rancher

    2024-02-06 01:38:01       27 阅读