CT投影(距离驱动)算子实现?

Nic*_*sui 1 matlab projection image-processing medical tomography-reconstruction

我正在尝试使用MATLAB来实现CT(计算机断层扫描)投影算子A,我认为它经常被称为"系统矩阵".

基本上,对于N×N图像M,投影数据P可以通过将项目操作符与图像相乘来获得:

P = AM

并且可以通过将投影算子的(共轭)转置乘以投影数据来执行反投影过程:

M = A'P

任何人都有关于如何实现矩阵A的任何想法/示例/示例代码(例如:Radon变换)?我真的想从一个小尺寸的矩阵开始,比如8 x 8或16 x 16,如果可能的话.

我的问题是:如何实现投影算子,这样通过将运算符与图像相乘,我可以得到投影,并通过将运算符的(共轭)转置与投影相乘,我可以得到原始图像.

编辑:

特别是,我想实现距离驱动的投影仪,在这种情况下,光束轨迹(平行,风扇等)无关紧要.非常简单的例子(MATLAB首选)对我来说是最好的.

phy*_*rox 7

你有不同的例子:

  • 这里有一个与3d Cone Beam相关的Matlab示例.这可能是一个很好的起点.
  • 在这里你还有另一个运营商
  • 在这里,您将简要介绍距离驱动方法.因此,使用本书中的第一个示例和解释,您可以获得一些想法.

如果没有,您可以随时转到距离驱动操作员文件并使用第一个示例实现它.

  • 谢啦!(如果您找到其他有用的示例代码,请在此处发布,以便每个人都可以使用它) (2认同)

lp2*_*251 5

据我所知,距离驱动的投影仪/背投仪(它已获得专利)没有免费的实现。但是,您可以自己编写代码而没有太多困难。

首先阅读论文并了解投影机的功能。您只需要几个关键部分:

  • 将像素边界投影到轴上。
  • 将探测器边界投影到轴上。
  • 重叠内核。

前两个是简单的几何。在论文中对重叠内核进行了详细的描述(并且大多数情况下还使用伪代码)。

请注意,您将不会获得进行投影的实际矩阵。该系统对于除最小的示例以外的所有示例而言都太大了。相反,您应该编写一个函数来实现与距离驱动的投影相对应的线性算子。