https://github.com/tknopp/NFFT.jl
Tip revision: e5662f1d07c1d092a6cb67b9934bd4b417a2300f authored by Tobias Knopp on 02 November 2015, 18:37:03 UTC
Merge pull request #10 from robertdj/master
Merge pull request #10 from robertdj/master
Tip revision: e5662f1
README.md
NFFT.jl
=======
This package provides a Julia implementation of the Non-equidistant Fast Fourier Transform (NFFT).
This algorithm is also referred as Gridding in the literature (e.g. in MRI literature)
For a detailed introduction into the NFFT and its application please have a look at www.nfft.org.
The NFFT is a fast implementation of the Non-equidistant Discrete Fourier Transform (NDFT) that is
basically a DFT with non-equidistant sampling nodes in either Fourier or time/space domain. In contrast
to the FFT, the NFFT is an approximative algorithm whereas the accuracy can be controlled by two parameters:
the window width m and the oversampling factor sigma.
Basic usage of NFFT.jl is shown in the following example:
using NFFT
N = 1024
x = linspace(-0.4, 0.4, N) # nodes at which the NFFT is evaluated
fHat = randn(N)+randn(N)*1im # data to be transformed
p = NFFTPlan(x, N) # create plan. m and sigma are optional parameters
f = nfft_adjoint(p, fHat) # calculate adjoint NFFT
g = nfft(p, f) # calculate forward NFFT
There are currently some open issues:
- The library is currently only fast for 1D, 2D, and 3D NFFTs. Higher order NFFTs use a slow fallback implementation.