![]() |
NFFT
3.4.1
|
Functions | |
static int | polar_grid (int T, int S, NFFT_R *x, NFFT_R *w) |
Generates the points ![]() ![]() ![]() ![]() | |
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().