matlabprojectiontomography-reconstruction

How to obtain projections for a matrix along a specific line?


Given parametrization of points on line L(t,θ) is x(s):= t cos θ − s sin θ y(s):= t sin θ + s cos θ, where t is the distance from the origin to the line at the angle θ from x-axis, and s is some point on the line.

How to take projections of image Img at this line L(t,θ) with specific step size s. Using this I have to implement a radon transform further.

My question is how to define step size s and value of t ? Also, do I need to rotate Img or without rotation is it possible?

Please help.


Solution

  • I suggest you have a look at the multiple Open source software that are around.

    In tomography, rotating the image is the same as rotating the machine around, so you could change the source/detector position per angle and then compute the line that joins them. Then, the step size is up to you. Research has shown (I have tested this) that a good value is s=pixel_size/2 or 0.5 if you are working in standard pixels.

    If you are doing 2D parallel beam then you can forget about all the geometric transformations that need to be performed and generate projections by using imrotate. If you are using fan beam or cone beam, then the code gets a bit more complicated.