NFFT Logo 3.0 API Reference
Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

Solver - Inverse transforms


Data Structures

struct  infft_plan
 Structure for an inverse transform plan. More...
struct  infct_plan
 Structure for an inverse transform plan. More...
struct  infst_plan
 Structure for an inverse transform plan. More...
struct  innfft_plan
 Structure for an inverse transform plan. More...
struct  imri_inh_2d1d_plan
 Structure for an inverse transform plan. More...
struct  imri_inh_3d_plan
 Structure for an inverse transform plan. More...
struct  infsft_plan
 Structure for an inverse transform plan. More...

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.
#define MACRO_SOLVER_PLAN(MV, FLT, FLT_TYPE)
 Complete macro for mangling an inverse transform.

Functions

void infft_init (infft_plan *ths, nfft_plan *mv)
 Simple initialisation.
void infft_init_advanced (infft_plan *ths, nfft_plan *mv, unsigned infft_flags)
 Advanced initialisation.
void infft_before_loop (infft_plan *ths)
 Setting up residuals before the actual iteration.
void infft_loop_one_step (infft_plan *ths)
 Doing one step in the iteration.
void infft_finalize (infft_plan *ths)
 Destroys the plan for the inverse transform.
void infct_init (infct_plan *ths, nfct_plan *mv)
 Simple initialisation.
void infct_init_advanced (infct_plan *ths, nfct_plan *mv, unsigned infct_flags)
 Advanced initialisation.
void infct_before_loop (infct_plan *ths)
 Setting up residuals before the actual iteration.
void infct_loop_one_step (infct_plan *ths)
 Doing one step in the iteration.
void infct_finalize (infct_plan *ths)
 Destroys the plan for the inverse transform.
void infst_init (infst_plan *ths, nfst_plan *mv)
 Simple initialisation.
void infst_init_advanced (infst_plan *ths, nfst_plan *mv, unsigned infst_flags)
 Advanced initialisation.
void infst_before_loop (infst_plan *ths)
 Setting up residuals before the actual iteration.
void infst_loop_one_step (infst_plan *ths)
 Doing one step in the iteration.
void infst_finalize (infst_plan *ths)
 Destroys the plan for the inverse transform.
void innfft_init (innfft_plan *ths, nnfft_plan *mv)
 Simple initialisation.
void innfft_init_advanced (innfft_plan *ths, nnfft_plan *mv, unsigned innfft_flags)
 Advanced initialisation.
void innfft_before_loop (innfft_plan *ths)
 Setting up residuals before the actual iteration.
void innfft_loop_one_step (innfft_plan *ths)
 Doing one step in the iteration.
void innfft_finalize (innfft_plan *ths)
 Destroys the plan for the inverse transform.
void imri_inh_2d1d_init (imri_inh_2d1d_plan *ths, mri_inh_2d1d_plan *mv)
 Simple initialisation.
void imri_inh_2d1d_init_advanced (imri_inh_2d1d_plan *ths, mri_inh_2d1d_plan *mv, unsigned imri_inh_2d1d_flags)
 Advanced initialisation.
void imri_inh_2d1d_before_loop (imri_inh_2d1d_plan *ths)
 Setting up residuals before the actual iteration.
void imri_inh_2d1d_loop_one_step (imri_inh_2d1d_plan *ths)
 Doing one step in the iteration.
void imri_inh_2d1d_finalize (imri_inh_2d1d_plan *ths)
 Destroys the plan for the inverse transform.
void imri_inh_3d_init (imri_inh_3d_plan *ths, mri_inh_3d_plan *mv)
 Simple initialisation.
void imri_inh_3d_init_advanced (imri_inh_3d_plan *ths, mri_inh_3d_plan *mv, unsigned imri_inh_3d_flags)
 Advanced initialisation.
void imri_inh_3d_before_loop (imri_inh_3d_plan *ths)
 Setting up residuals before the actual iteration.
void imri_inh_3d_loop_one_step (imri_inh_3d_plan *ths)
 Doing one step in the iteration.
void imri_inh_3d_finalize (imri_inh_3d_plan *ths)
 Destroys the plan for the inverse transform.
void infsft_init (infsft_plan *ths, nfsft_plan *mv)
 Simple initialisation.
void infsft_init_advanced (infsft_plan *ths, nfsft_plan *mv, unsigned infsft_flags)
 Advanced initialisation.
void infsft_before_loop (infsft_plan *ths)
 Setting up residuals before the actual iteration.
void infsft_loop_one_step (infsft_plan *ths)
 Doing one step in the iteration.
void infsft_finalize (infsft_plan *ths)
 Destroys the plan for the inverse transform.

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 2213 of file nfft3.h.

#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 2221 of file nfft3.h.

#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 2230 of file nfft3.h.

Referenced by inverse_linogram_fft(), inverse_mpolar_fft(), inverse_polar_fft(), Inverse_Radon_trafo(), and reconstruct().

#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 2239 of file nfft3.h.

Referenced by glacier().

#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 2247 of file nfft3.h.

#define PRECOMPUTE_WEIGHT   (1U<< 5)
 

If this flag is set, the samples are weighted, eg to cope with varying sampling density.

Author:
Stefan Kunis

Definition at line 2255 of file nfft3.h.

Referenced by inverse_linogram_fft(), inverse_mpolar_fft(), inverse_polar_fft(), Inverse_Radon_trafo(), and reconstruct().

#define PRECOMPUTE_DAMP   (1U<< 6)
 

If this flag is set, the Fourier coefficients are damped, eg to favour fast decaying coefficients.

Author:
Stefan Kunis

Definition at line 2263 of file nfft3.h.

Referenced by glacier(), inverse_linogram_fft(), inverse_mpolar_fft(), inverse_polar_fft(), and reconstruct().

#define MACRO_SOLVER_PLAN MV,
FLT,
FLT_TYPE   ) 
 

Complete macro for mangling an inverse transform.

  • MV Matrix vector multiplication type (eg nfft, nfct)
  • FLT Float used as prefix for function names (double or complex)
  • FLT_TYPE Float type (double or double complex)
Author:
Stefan Kunis

Definition at line 2274 of file nfft3.h.


Generated on 1 Nov 2006 by Doxygen 1.4.4