NFFT
3.4.1
|
Functions | |
static int | polar_grid (int T, int S, NFFT_R *x, NFFT_R *w) |
Generates the points with weights for the polar grid with angles and offsets. More... | |
static int | polar_dft (NFFT_C *f_hat, int NN, NFFT_C *f, int T, int S, int m) |
discrete polar FFT | |
static int | polar_fft (NFFT_C *f_hat, int NN, NFFT_C *f, int T, int S, int m) |
NFFT-based polar FFT. | |
static int | inverse_polar_fft (NFFT_C *f, int T, int S, NFFT_C *f_hat, int NN, int max_i, int m) |
inverse NFFT-based polar FFT | |
int | main (int argc, char **argv) |
test program for various parameters | |
|
static |
Generates the points with weights for the polar grid with angles and offsets.
The nodes of the polar grid lie on concentric circles around the origin. They are given for by a signed radius and an angle as
The total number of nodes is , whereas the origin is included multiple times.
Weights are introduced to compensate for local sampling density variations. For every point in the sampling set, we associate a small surrounding area. In case of the polar grid, we choose small ring segments. The area of such a ring segment around ( ) is
The area of the small circle of radius around the origin is . Divided by the multiplicity of the origin in the sampling set, we get . Thus, the sum of all weights is and we divide by this value for normalization.
Definition at line 73 of file polar_fft_test.c.
Referenced by inverse_polar_fft(), main(), polar_dft(), and polar_fft().