我正在做一个项目,我应该使用共轭梯度法在 matlab 的帮助下给定图像的正弦图来重建 SPECT 图像。我已经意识到需要求解线性方程 Ax=b,其中 b 是一个 N 维向量,其中包含包装成向量的已知正弦图值,x 是包含要重建的未知图像的 M 维向量,并且 A是系统向量。我可以很容易地用我拥有的正弦图构造b,但我真的不知道我应该如何得到A。我想要的图像是128X128,正弦图是128X32(即32个投影)。
有人对我如何使用matlabs PCG函数的帮助来重建我的图像有任何想法吗?
我正在做一个项目,我应该使用共轭梯度法在 matlab 的帮助下给定图像的正弦图来重建 SPECT 图像。我已经意识到需要求解线性方程 Ax=b,其中 b 是一个 N 维向量,其中包含包装成向量的已知正弦图值,x 是包含要重建的未知图像的 M 维向量,并且 A是系统向量。我可以很容易地用我拥有的正弦图构造b,但我真的不知道我应该如何得到A。我想要的图像是128X128,正弦图是128X32(即32个投影)。
有人对我如何使用matlabs PCG函数的帮助来重建我的图像有任何想法吗?
投影矩阵 A 的第 n 列是第 n 个像素的氡变换,即其第 n 个元素为 1,所有其他元素为零。这对于 matlab radon 函数是可行的,但我怀疑它是否非常有效,因为 A 将是稀疏的,我猜循环将需要相当长的时间,尽管 128x128x128x32 应该仍然是可管理的并且(稀疏)矩阵可以缓存在.mat 文件,只要您的几何形状没有改变。
您可以尝试其他 matlab 脚本,例如http://www2.imm.dtu.dk/~pch/AIRtools/ 通过调用获得 A
N=128; % 128x128 pixels
p=128; % Number of rays per projection
alpha=(0:32)*180/32; % List of projection angles in degrees
A=paralleltomo(N, alpha, p);
我希望这会有所帮助。