I'm working on a project where I should use the conjugate gradient method to reconstruct an SPECT image given the sinogram of the image with the help of matlab. I have realized that the linear equation Ax=b needs to be solved, where b is an N-dimensional vector containing the known sinogram values wrapped into a vector and x is a M-dimensional vector containing the unknown image to be reconstructed and that A is a system vector. I can easily construct b with the sinogram I have, but I don't really know how I should get A.
The image I want is 128X128 and the sinogram is 128X32 (i.e. 32 projections).

Does anybody have any Ideas of how i can use the help of matlabs PCG function to reconstruct my image?

1 Answer
1

The n_th column of the projection matrix A is the radon transformation of the n_th pixel, that is its n_th element is 1 and all other elements are zero. This is doable with the matlab radon function, but I doubt that it is very efficient because A will be sparse and I guess the loop will take quite some time, although 128x128x128x32 should still be manageable and the (sparse) matrix can be cached in a .mat file as long as your geometry doesn't change.