#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "util.h"
#include "nfft3.h"
Defines | |
#define | KERNEL(r) (1.0-fabs((double)(r))/((double)R/2)) |
define weights of kernel function for discrete Radon transform | |
Functions | |
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 | |
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 |
Computes the discrete Radon transform
by taking the 2D-NFFT of (
) at the points
of the polar or linogram grid followed by 1D-iFFTs for every direction
, where
are the weights of the Dirichlet- or Fejer-kernel.
|
simple test program for the discrete Radon transform < grid generating function < number of directions/offsets < image size load data Radon transform write result free the variables |
|
computes the NFFT-based discrete Radon transform of f on the grid given by gridfcn() with T angles and R offsets < index for nodes and freqencies < plan for the nfft-2D < variable for the fftw-1Ds < plan for the fftw-1Ds < index for directions and offsets < knots and associated weights init two dimensional NFFT plan init nodes from grid precompute psi, the entries of the matrix B init Fourier coefficients from given image NFFT-2D FFTW-1Ds finalise the plans and free the variables |