|
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "util.h"
#include "nfft3.h"
Go to the source code of this file.
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 | Inverse_Radon_trafo (int(*gridfcn)(), int T, int R, double *Rf, int NN, double *f, int max_i) |
computes the inverse discrete Radon transform of Rf on the grid given by gridfcn() with T angles and R offsets by a NFFT-based CG-type algorithm | |
int | main (int argc, char **argv) |
simple test program for the inverse discrete Radon transform |
Computes the inverse of the discrete Radon transform
given at the points of the polar or linogram grid and where are the weights of the Dirichlet- or Fejer-kernel by 1D-FFTs and the 2D-iNFFT.
Definition in file inverse_radon.c.
|
computes the inverse discrete Radon transform of Rf on the grid given by gridfcn() with T angles and R offsets by a NFFT-based CG-type algorithm < index for nodes and freqencies < plan for the nfft-2D < plan for the inverse nfft < variable for the fftw-1Ds < plan for the fftw-1Ds < index for directions and offsets < knots and associated weights < index for iterations init two dimensional NFFT plan init two dimensional infft plan init nodes and weights of grid precompute psi, the entries of the matrix B compute 1D-ffts and init given samples and weights initialise some guess f_hat_0 solve the system copy result finalise the plans and free the variables Definition at line 91 of file inverse_radon.c. References CGNR, infft_plan::f_hat_iter, fft(), FFT_OUT_OF_PLACE, FFTW_INIT, infft_before_loop(), infft_finalize(), infft_init_advanced(), infft_loop_one_step(), KERNEL, nfft_plan::M_total, MALLOC_F, MALLOC_F_HAT, MALLOC_X, nfft_plan::N_total, nfft_fftshift_complex(), nfft_finalize(), nfft_plan::nfft_flags, nfft_init_guru(), nfft_precompute_full_psi(), nfft_precompute_lin_psi(), nfft_precompute_psi(), infft_plan::p_hat_iter, PRE_FULL_PSI, PRE_LIN_PSI, PRE_PHI_HUT, PRE_PSI, PRECOMPUTE_WEIGHT, infft_plan::w, nfft_plan::x, and infft_plan::y. Referenced by main(). |
|
simple test program for the inverse discrete Radon transform < grid generating function < number of directions/offsets < image size < number of iterations load data inverse Radon transform write result free the variables Definition at line 211 of file inverse_radon.c. References Inverse_Radon_trafo(), linogram_grid(), and polar_grid(). |