Search code examples
javamathfft

Fourier Transform of 3D data set


I have a data set which is spaced regular in every dimension (equidistant). But the spacing of the dimensions is different.

dx != dy != dz (!= -> is not)

I Fourier transform this data set and than filter it.
Where for the wavenumbers I take into account the different spacing. Afterwards I transform the data back. This seems to give results which I expect, but I am still doubting if this is correct.

My question is now: does it matter that the spacing is not the same in the 3 dimensions?

This is al implemented in java with j-transforms.


Solution

  • You have to take spacing difference into account when you are building filter in wavenumber space, if its kernel depends on dimensional parameters.

    For example, if spacings are dx, dy=Fyx*dx, dz=Fzx*dx, and you need isotropic filtration, then in k-space you might use kx, ky/Fyx, kz/Fzx