Fourier Slice Theorem or central Slice Theorem

Discussion in 'MATLAB' started by Dinesh Bhati, Sep 28, 2010.

1. Dinesh BhatiGuest

Hi,
Is it true that central slice theorem holds only with Fourier Transform and not Discrete Fourier Transform.
I sampled a slice of (radial spoke) of 2-D DFT of a rectagular image.However it has not come as perfect SINC function.
Sorry there is no facility to attach figure otherwise you could see the simulation result.

Thanks
Dinesh

Dinesh Bhati, Sep 28, 2010

2. Bart GorisGuest

Hi,

I have never heard about the fact that the central slice theorem doesn't work with DFT, but I also havn't succeeded in implementing it. So if you succeed, let me know...

Bart Goris, Sep 28, 2010

3. dbdGuest

An infinite continuous function like the sinc cannot be represented
exactly by a finite sampled function. The central slice theorem for
the finite sampled data cannot be identical to the infinite continuous
form of the central slice theorem. Outside of symbolic manipulation,
you must work with the finite sampled form on your computer with
programs like Matlab. Learn about discrete and finite arithmetic and
their effects on the Fourier transform to be able to determine how to
apply the DFT to your application.

Dale B. Dalrymple

dbd, Sep 28, 2010
4. Matt JGuest

===========

Even if you were working with perfect continuous transforms, the radial spoke of the image spectrum would only be a perfect sinc if the projection angle were 0 or 90 degrees.

Matt J, Sep 28, 2010
5. Dinesh BhatiGuest

No, plese note that at all the angles it should be a perfect sinc. since, the radon projection at any angle is just a pulse it should be perfect sinc function.

May I have your email ID so that I can post you the figure of Sinc that I got from 1-D FFT of radon projctioin(it is perfect sinc) and by sampling a slice on 2-D FFT.
Dinesh

Dinesh Bhati, Sep 29, 2010
6. Matt JGuest

======

No, the radon projection of a rectangular object is not a rectangular pulse except at those angles where the projection rays are parallel to the sides of the rectangle.

At other projection angles, the intersection length of projection rays with the rectangle will vary quadratically as a function of the radial ray position.

Matt J, Sep 29, 2010
7. Dinesh BhatiGuest

==========
No, my simulation on matlab shows that it is pulse at all the angles and only pulse width changes.THe 1-D FFT also show a perfect sinc function. IF it triangle also then also the projection will be pulse

let me send you he plots.please give me you email id

Dinesh Bhati, Sep 29, 2010
8. Matt JGuest

=======

Something wrong with the simulation then. It's easy to see why it can't be true. At 45 degrees, there will be rays that intersect near the corner of the rectangle, where the intersection length is very small. Conversely, rays that cut through the center of the rectangle will always be large.

THe 1-D FFT also show a perfect sinc function. IF it triangle also then also the projection will be pulse
======

If you must show them, I recommend putting them at, http://drop.io/
but I don't know why you expect them to be convincing. I wouldn't know what code generated those plots, nor what numerical test you did to see how well ithey fit a sinc.

Matt J, Sep 29, 2010
9. Matt JGuest

==========

Just to make sure we're talking about the same thing, I've provided code for my own quick simulation below. The plots clearly show that at 0 degrees, the radon projection is indeed a rectangular pulse and its FFT is indeed very sinc-like. However, at 45 degrees, the radon projection clearly is NOT a rectangular pulse (but rather a triangle) and its FFT is clearly NOT a sinc (note that the oscillations never run negative).

x=[zeros(1,50) ones(1,30) zeros(1,50)];

img=x.'*x; %image of square

for angle=[0 45]

figure
plot(Projection); %plot of projection
title(['Projection at ' num2str(angle) ' degrees'])

figure
plot(fftshift(real(fft(ifftshift(Projection))))) %plot of spectrum
title(['Projection FFT at ' num2str(angle) ' degrees'])
end

Matt J, Sep 29, 2010
10. Dinesh BhatiGuest

Yes you are correct,However, when one side of the rectangle is very small compare to other side then the traingle (projection at 45 degrees ) is not noticable and that's where I was making a mistake.For example consider a line in place of rectangle.

Now can you tell me when I sampled a slice at a certain angle on 2-D FFTof an image with a line (not rectangle) why it is not a perfect sinc.Actually it shows sinc function with its lobes separated by some gaps.

Dinesh Bhati, Sep 30, 2010
11. Matt JGuest

=======

How could I? I haven't seen the code you are using.

Matt J, Sep 30, 2010
12. FrankGuest

No. But a look into relevant literature will show you that implementing central slice theorem (and there are lots of implementations) is much more than just doing the FFT, since it involves interpolation between a polar and a rectangular grid. I assume that's what you've come across: When you take your "slices" non-parallel to the axes, you need to interpolate, which ususally doesn't work.

Frank, Sep 30, 2010
13. Dinesh BhatiGuest

===============

This is exactly what I am doing.Literature has explained the theorem using Fourier Transform and not DFT.

I am able to regenerate the image from the sufficient number of slices on the 2-D FFT plane.However, it shows small mean square error difference from the original image.My target is to minimize this difference.

For the case of a image with a line in it what do you think what could be the reason of getting gaps in between the two lobes of a sinc function.Note it is the magnitude of sinc function I am talking about that never run negative.

Dinesh Bhati, Sep 30, 2010
14. FrankGuest

I don't get it. If you looked into the literature, you should have read that what you're trying to do won't work, unless you use nonequidistant FFT or gridding.

Frank, Sep 30, 2010
15. Dinesh BhatiGuest

==========
The book DIP by Anil K Jain give the proof using FT and not DFT.May I know if you have seen the proof with DFT.

I guess it does not hold with DFT and this could be the reason of gaps I am getting in the sinc function.

CAn we conclude we can't implement this theorem in MATLAB because matlab implements DFT and not FT

Dinesh Bhati, Oct 1, 2010
16. Matt JGuest

=====

It's doubtful that one could derive a DFT analogue to the Central Slice Theorem because how would you define the radon projection of a discrete object?

========

Your guess is as good as ours. Probably better, since you've seen your code whereas we have not.

=================

No, we can't conclude that. If you sample your image and projections finely enough, you can reproduce the Central Slice Theorem with arbitrary accuracy. By that, I mean you can get arbitrarily accurate agreement between the FFT of the radon projections and the central sections of the image's 2D FFT.

However, and this is what Frank is saying I think, nobody ever uses the Central Slice Theorem for image reconstruction because it is more sensitive to errors and more artifact-prone than other methods like filtered back projection. The interpolation errors introduced by converting polar sampling of the Central Slices to Cartesian sampling create weird patterns in the output of the final 2D IFFT.

Matt J, Oct 1, 2010
17. Dinesh BhatiGuest

Ideally what should be the top view of FFT of an image with a line at a certain angle in it.

should it be series of concentric ellipses centered at the origin, where edge of ellipse can be treated as negative lobes of sinc function.These ellipses will have one long major axis and a very short minor axis orientation being dependent on the orientation of line in the image.

If it is so, Can we get this ideal FFT using the FFT function of MATLAB.

Dinesh Bhati, Oct 3, 2010
18. Matt JGuest

====

If by a "line" you mean a thin rectangle, then the continuous Fourier Transform will be the rotation of a function

F(wx,wy) = sinc(A*wx)*sinc(B*wy)

where wx and wy are frequency variables and A and B depend on the dimensions of the rectangle. The FFT will approximate this function to some degree depending on your sampling fineness.

Matt J, Oct 3, 2010
19. sairam GeethanathGuest

A comparative image analysis of discrete radial Fourier transforms
Guojun Zhanga, Bo Lia, Bo Fub, Corresponding Author Contact Information, E-mail The Corresponding Author, Li Lib and Gaoxiang Liub

sairam Geethanath, Oct 19, 2010
20. Dominik RichterGuest

Hello,

I'm working in the field of image reconstruction and I have the same problem as Dinesh Bhati.
My data are in the form of a sinogram (radon transformation). The Fourier slice theorem is derived by taking the one-dimensional Fourier transform of a parallel projection (a column in the sinogram) and noting that it is equal to a slice of the two-dimensional Fourier transform of the original object.

It follows that given the projection data, it should then be possible to estimate the object by simply performing the 2D inverse Fourier transform.

I tried to implement an "nearest neighbour interpolation" - although I know, that there will be a bad reconstructed image and lots of artefacts.
But the image does not look like the original one at all. I also tried to use the griddata() function with the same bad results.

Does anyone already has worked with "Direct Fourier Reconstruction" and can help me?

best regards

Dominik Richter, Nov 25, 2010