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

17 Ansichten (letzte 30 Tage)
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 Kommentare
Oren
Oren am 15 Aug. 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 am 15 Aug. 2017
Bearbeitet: Matt J am 15 Aug. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 29 Sep. 2014
Bearbeitet: Matt J am 29 Sep. 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.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by