Direct 2D FFT from sinogram. Polar to cartesian grid interpolation in Matlab

17 visualizzazioni (ultimi 30 giorni)
down vote favorite
In the theory of tomography imaging a sinogram is recorderded, which is series of projections at different angles of the sample. Taking FFT of this projections gives a slice in polar coordinates of the sample in the frequency space. But this is in polar coordinates.
How is the polar to cartesian grid interpolation implemented numerically in 2D in matlab.
[X,Y] = pol2cart(THETA,RHO) will not do it automatically.
  3 Commenti
Oren
Oren il 15 Ago 2017
Hi Matt,
Can you please elaborate (give source) on the claim that numerical implementations of the slice-project theorem are "known to be an artifact-prone"? What kind of problems should one expect?
thank you
Oren
Matt J
Matt J il 15 Ago 2017
Modificato: Matt J il 15 Ago 2017
Oren,
This is probably a good place to start,
O’Sullivan J D 1985 A Fast Sinc Function Gridding Algorithm for Fourier Inversion in Computer Tomography IEEE Trans. Med. Imaging 4 200–7
I may have overstated the difficulties with direct Fourier methods a bit, but the paper will give a trail of literature arguing that they will not work as well as FBP if the polar-cartesian interpolation is done naively.

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 29 Set 2014
Modificato: Matt J il 29 Set 2014
Once you apply pol2cart, your X,Y data will be a scattered data set, which you could interpolate at a Cartesian grid of XI,YI target points using scatteredInterpolant. Alternatively, you could convert your target XI,YI Cartesian coordinates to polar target points RHOI,THETAI using cart2pol. Then you can do gridded interpolation at those target points with your original RHO, THETA using interp2 or griddedInterpolant.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by