|   | 3.2.3 | 
NFFT-based discrete Radon transform. More...
#include "config.h"#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>#include "nfft3util.h"#include "nfft3.h"Go to the source code of this file.
| Macros | |
| #define | KERNEL(r) (1.0-fabs((double)(r))/((double)R/2)) | 
| define weights of kernel function for discrete Radon transform | |
| Functions | |
| static int | polar_grid (int T, int R, double *x, double *w) | 
| generates the points x with weights w for the polar grid with T angles and R offsets | |
| static int | linogram_grid (int T, int R, double *x, double *w) | 
| generates the points x with weights w for the linogram grid with T slopes and R offsets | |
| int | Radon_trafo (int(*gridfcn)(), int T, int R, double *f, int NN, double *Rf) | 
| computes the NFFT-based discrete Radon transform of f on the grid given by gridfcn() with T angles and R offsets | |
| int | main (int argc, char **argv) | 
| simple test program for the discrete Radon transform | |
NFFT-based discrete Radon transform.
Computes the discrete Radon transform
![\[ R_{\theta_t} f\left(\frac{s}{R}\right) = \sum_{r \in I_R} w_r \; \sum_{k \in I_N^2} f_{k} \mathrm{e}^{-2\pi\mathrm{I} k \; (\frac{r}{R}\theta_t)} \, \mathrm{e}^{2\pi\mathrm{i} r s / R} \qquad(t \in I_T, s \in I_R). \]](form_134.png) 
 by taking the 2D-NFFT of  (
 (  ) at the points
) at the points  of the polar or linogram grid followed by 1D-iFFTs for every direction
 of the polar or linogram grid followed by 1D-iFFTs for every direction  , where
, where  are the weights of the Dirichlet- or Fejer-kernel.
 are the weights of the Dirichlet- or Fejer-kernel. 
Definition in file radon.c.