NFFT Logo 3.1.3 API Reference

Solver - Inverse transforms


Data Structures

struct  solver_plan_complex
struct  solver_plan_double

Defines

#define LANDWEBER   (1U<< 0)
 If this flag is set, the Landweber (Richardson) iteration is used to compute an inverse transform.
#define STEEPEST_DESCENT   (1U<< 1)
 If this flag is set, the method of steepest descent (gradient) is used to compute an inverse transform.
#define CGNR   (1U<< 2)
 If this flag is set, the conjugate gradient method for the normal equation of first kind is used to compute an inverse transform.
#define CGNE   (1U<< 3)
 If this flag is set, the conjugate gradient method for the normal equation of second kind is used to compute an inverse transform.
#define NORMS_FOR_LANDWEBER   (1U<< 4)
 If this flag is set, the Landweber iteration updates the member dot_r_iter.
#define PRECOMPUTE_WEIGHT   (1U<< 5)
 If this flag is set, the samples are weighted, eg to cope with varying sampling density.
#define PRECOMPUTE_DAMP   (1U<< 6)
 If this flag is set, the Fourier coefficients are damped, eg to favour fast decaying coefficients.

Functions

void solver_init_advanced_complex (solver_plan_complex *ths, mv_plan_complex *mv, unsigned flags)
void solver_init_complex (solver_plan_complex *ths, mv_plan_complex *mv)
void solver_before_loop_complex (solver_plan_complex *ths)
void solver_loop_one_step_complex (solver_plan_complex *ths)
 void solver_loop_one_step
void solver_finalize_complex (solver_plan_complex *ths)
 void solver_finalize
void solver_init_advanced_double (solver_plan_double *ths, mv_plan_double *mv, unsigned flags)
 void solver_finalize
void solver_init_double (solver_plan_double *ths, mv_plan_double *mv)
void solver_before_loop_double (solver_plan_double *ths)
void solver_loop_one_step_double (solver_plan_double *ths)
 void solver_loop_one_step
void solver_finalize_double (solver_plan_double *ths)
 void solver_finalize

Define Documentation

#define LANDWEBER   (1U<< 0)

If this flag is set, the Landweber (Richardson) iteration is used to compute an inverse transform.

Author:
Stefan Kunis

Definition at line 2683 of file nfft3.h.

Referenced by solver_init_advanced_double(), solver_loop_one_step_complex(), and solver_loop_one_step_double().

#define STEEPEST_DESCENT   (1U<< 1)

If this flag is set, the method of steepest descent (gradient) is used to compute an inverse transform.

Author:
Stefan Kunis

Definition at line 2691 of file nfft3.h.

Referenced by solver_finalize_complex(), solver_finalize_double(), solver_init_advanced_double(), solver_loop_one_step_complex(), and solver_loop_one_step_double().

#define CGNR   (1U<< 2)

If this flag is set, the conjugate gradient method for the normal equation of first kind is used to compute an inverse transform.

Each iterate minimises the residual in the current Krylov subspace.

Author:
Stefan Kunis

Definition at line 2700 of file nfft3.h.

Referenced by inverse_linogram_fft(), inverse_mpolar_fft(), inverse_polar_fft(), Inverse_Radon_trafo(), main(), reconstruct(), solver_finalize_complex(), solver_finalize_double(), solver_init_advanced_double(), solver_loop_one_step_complex(), and solver_loop_one_step_double().

#define CGNE   (1U<< 3)

If this flag is set, the conjugate gradient method for the normal equation of second kind is used to compute an inverse transform.

Each iterate minimises the error in the current Krylov subspace.

Author:
Stefan Kunis

Definition at line 2709 of file nfft3.h.

Referenced by glacier(), main(), solver_init_advanced_double(), solver_loop_one_step_complex(), and solver_loop_one_step_double().

#define NORMS_FOR_LANDWEBER   (1U<< 4)

If this flag is set, the Landweber iteration updates the member dot_r_iter.

Author:
Stefan Kunis

Definition at line 2717 of file nfft3.h.

Referenced by solver_loop_one_step_landweber_complex(), and solver_loop_one_step_landweber_double().

#define PRECOMPUTE_WEIGHT   (1U<< 5)

#define PRECOMPUTE_DAMP   (1U<< 6)


Generated on 23 Dec 2009 by Doxygen 1.5.6