I understand the continuous version of the Fourier Slice-Projection theorem, which says that given a (nice enough) function $f:\mathbb{R}^3\to\mathbb{C}$ the following operations give the same result:

  1. Evaluate $f$ on a plane through the origin and perform a 2-d Fourier transform of the thus obtained 2-d function

  2. Perform a 3-d Fourier transform of $f$ and project (integrate) it along the direction orthogonal to the plane used in (1).

My question concerns implementing this using discrete uniformly sampled data in a numerical application. It is easy to show that for the three planes aligned with the coordinate grid this works exactly the same for the discrete 3-d-Fourier transform, which was no problem to implement with the fft-algorithm (I am using Matlab). In this case projecting amounts to a sum over one of the array dimensions. The general case (arbitrary slice planes) for discrete data will necessarily involve either interpolation or something along the lines of a Mojette transform, which I hope is not necessary for my application. The application concerns a continuous 3-d-periodic $f$ sampled in a unit cell and its Fourier series representation, hence interpolation may be the right choice but I want to be sure there isn't some easier way.

I only want to consider slice planes giving periodic patterns of points that also generate the entire discrete lattice when stacked periodically (for example the plane spanned by the vectors (1,0,1) and (-1,0,1) for a cubic discrete lattice). In this setting it makes sense to slice an (NxNxN)-lattice, giving a plane with (NxN) data points located on a rectangular grid with side ratio sqrt(2). It also makes sense to project the data, this however sums a number of lattice points that depends on the position in the projection plane and also gives equally spaced data on the plane with Nx(2N-1) data points. I was hoping to find some version of the Fourier Slice theorem that applies to this specific slice plane of the discrete data. Efficiency of the computation is a minor issue. Is there something that can be suggested here?

Thank you very much in advance for your thoughts.

  • $\begingroup$ I don't think that there any helpful answer is known (but I would love to stand corrected!). $\endgroup$ – Dirk Jun 29 '18 at 15:24
  • $\begingroup$ So you're saying interpolation is the way to go? $\endgroup$ – Adomas Baliuka Jun 29 '18 at 20:37
  • $\begingroup$ I don't know any method without interpolation... $\endgroup$ – Dirk Jun 29 '18 at 20:40
  • $\begingroup$ I found a paper (arxiv.org/pdf/1307.5824.pdf) that may be relevant, in particular page 7. Unfortunately I don't understand how to implement the formulas given using strictly discrete data. Does somebondy understand what kind of interpolation is being used there? I tried implementing it but probably did it wrong, since the results don't seem to make sense. $\endgroup$ – Adomas Baliuka Jul 1 '18 at 16:42
  • $\begingroup$ There definitely seem to be results concerning this issue, both for the "discrete Radon transform" and the "Mojette transform" exact relationships with discrete Fourier transformation seem to exist. Another relevant paper, which I do not yet understand and haven't been able to implement is "Kingston, Andrew & Li, Heyang & Normand, Nicolas & Svalbe, Imants. (2014). Fourier Inversion of the Mojette Transform." $\endgroup$ – Adomas Baliuka Jul 2 '18 at 16:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.