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

조회 수: 17 (최근 30일)
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
Oren
Oren 2017년 8월 15일
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 2017년 8월 15일
편집: Matt J 2017년 8월 15일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Matt J
Matt J 2014년 9월 29일
편집: Matt J 2014년 9월 29일
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.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by