NFFT Logo 3.2.3
Data Structures | Macros | Typedefs | Functions | Variables
nfft3.h File Reference
#include "nfft3conf.h"
#include <fftw3.h>

Go to the source code of this file.

Data Structures

struct  nfftf_mv_plan_complex
struct  nfftf_mv_plan_double
struct  nfftf_plan
struct  nfft_mv_plan_complex
struct  nfft_mv_plan_double
struct  nfft_plan
struct  nfftl_mv_plan_complex
struct  nfftl_mv_plan_double
struct  nfftl_plan
struct  nfctf_plan
struct  nfct_plan
struct  nfctl_plan
struct  nfstf_plan
struct  nfst_plan
struct  nfstl_plan
struct  nnfftf_plan
struct  nnfft_plan
struct  nnfftl_plan
struct  nsfftf_plan
struct  nsfft_plan
struct  nsfftl_plan
struct  mrif_inh_2d1d_plan
struct  mrif_inh_3d_plan
struct  mri_inh_2d1d_plan
struct  mri_inh_3d_plan
struct  mril_inh_2d1d_plan
struct  mril_inh_3d_plan
struct  nfsftf_plan
struct  nfsft_plan
struct  nfsftl_plan
struct  nfsoftf_plan_
struct  nfsoft_plan_
struct  nfsoftl_plan_
struct  solverf_plan_complex
struct  solverf_plan_double
struct  solver_plan_complex
struct  solver_plan_double
struct  solverl_plan_complex
struct  solverl_plan_double

Macros

#define NFFT_CONCAT(prefix, name)   prefix ## name
#define NFFT_EXTERN   extern
#define MACRO_MV_PLAN(RC)
 Pointer to the own adjoint.
#define NFFT_MANGLE_DOUBLE(name)   NFFT_CONCAT(nfft_, name)
#define NFFT_MANGLE_FLOAT(name)   NFFT_CONCAT(nfftf_, name)
#define NFFT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nfftl_, name)
#define NFFT_DEFINE_API(X, Y, R, C)
#define PRE_PHI_HUT   (1U<< 0)
#define FG_PSI   (1U<< 1)
#define PRE_LIN_PSI   (1U<< 2)
#define PRE_FG_PSI   (1U<< 3)
#define PRE_PSI   (1U<< 4)
#define PRE_FULL_PSI   (1U<< 5)
#define MALLOC_X   (1U<< 6)
#define MALLOC_F_HAT   (1U<< 7)
#define MALLOC_F   (1U<< 8)
#define FFT_OUT_OF_PLACE   (1U<< 9)
#define FFTW_INIT   (1U<< 10)
#define NFFT_SORT_NODES   (1U<< 11)
#define NFFT_OMP_BLOCKWISE_ADJOINT   (1U<<12)
#define PRE_ONE_PSI   (PRE_LIN_PSI| PRE_FG_PSI| PRE_PSI| PRE_FULL_PSI)
#define NFCT_MANGLE_DOUBLE(name)   NFFT_CONCAT(nfct_, name)
#define NFCT_MANGLE_FLOAT(name)   NFFT_CONCAT(nfctf_, name)
#define NFCT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nfctl_, name)
#define NFCT_DEFINE_API(X, Y, R, C)
#define NFST_MANGLE_DOUBLE(name)   NFFT_CONCAT(nfst_, name)
#define NFST_MANGLE_FLOAT(name)   NFFT_CONCAT(nfstf_, name)
#define NFST_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nfstl_, name)
#define NFST_DEFINE_API(X, Y, R, C)
#define NNFFT_MANGLE_DOUBLE(name)   NFFT_CONCAT(nnfft_, name)
#define NNFFT_MANGLE_FLOAT(name)   NFFT_CONCAT(nnfftf_, name)
#define NNFFT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nnfftl_, name)
#define NNFFT_DEFINE_API(X, Y, Z, R, C)
#define MALLOC_V   (1U<< 11)
#define NSFFT_MANGLE_DOUBLE(name)   NFFT_CONCAT(nsfft_, name)
#define NSFFT_MANGLE_FLOAT(name)   NFFT_CONCAT(nsfftf_, name)
#define NSFFT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nsfftl_, name)
#define NSFFT_DEFINE_API(X, Y, Z, R, C)
#define NSDFT   (1U<< 12)
#define MRI_MANGLE_DOUBLE(name)   NFFT_CONCAT(mri_, name)
#define MRI_MANGLE_FLOAT(name)   NFFT_CONCAT(mrif_, name)
#define MRI_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(mril_, name)
#define MRI_DEFINE_API(X, Z, R, C)
#define NFSFT_MANGLE_DOUBLE(name)   NFFT_CONCAT(nfsft_, name)
#define NFSFT_MANGLE_FLOAT(name)   NFFT_CONCAT(nfsftf_, name)
#define NFSFT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nfsftl_, name)
#define NFSFT_DEFINE_API(X, Z, R, C)
#define NFSFT_NORMALIZED   (1U << 0)
#define NFSFT_USE_NDFT   (1U << 1)
#define NFSFT_USE_DPT   (1U << 2)
#define NFSFT_MALLOC_X   (1U << 3)
#define NFSFT_MALLOC_F_HAT   (1U << 5)
#define NFSFT_MALLOC_F   (1U << 6)
#define NFSFT_PRESERVE_F_HAT   (1U << 7)
#define NFSFT_PRESERVE_X   (1U << 8)
#define NFSFT_PRESERVE_F   (1U << 9)
#define NFSFT_DESTROY_F_HAT   (1U << 10)
#define NFSFT_DESTROY_X   (1U << 11)
#define NFSFT_DESTROY_F   (1U << 12)
#define NFSFT_NO_DIRECT_ALGORITHM   (1U << 13)
#define NFSFT_NO_FAST_ALGORITHM   (1U << 14)
#define NFSFT_ZERO_F_HAT   (1U << 16)
#define NFSFT_INDEX(k, n, plan)   ((2*(plan)->N+2)*((plan)->N-n+1)+(plan)->N+k+1)
#define NFSFT_F_HAT_SIZE(N)   ((2*N+2)*(2*N+2))
#define FPT_MANGLE_DOUBLE(name)   NFFT_CONCAT(fpt_, name)
#define FPT_MANGLE_FLOAT(name)   NFFT_CONCAT(fptf_, name)
#define FPT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(fptl_, name)
#define FPT_DEFINE_API(X, Y, R, C)
#define FPT_NO_STABILIZATION   (1U << 0)
#define FPT_NO_FAST_ALGORITHM   (1U << 2)
#define FPT_NO_DIRECT_ALGORITHM   (1U << 3)
#define FPT_PERSISTENT_DATA   (1U << 4)
#define FPT_FUNCTION_VALUES   (1U << 5)
#define FPT_AL_SYMMETRY   (1U << 6)
#define NFSOFT_MANGLE_DOUBLE(name)   NFFT_CONCAT(nfsoft_, name)
#define NFSOFT_MANGLE_FLOAT(name)   NFFT_CONCAT(nfsoftf_, name)
#define NFSOFT_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(nfsoftl_, name)
#define NFSOFT_DEFINE_API(X, Y, Z, R, C)
#define NFSOFT_NORMALIZED   (1U << 0)
#define NFSOFT_USE_NDFT   (1U << 1)
#define NFSOFT_USE_DPT   (1U << 2)
#define NFSOFT_MALLOC_X   (1U << 3)
#define NFSOFT_REPRESENT   (1U << 4)
#define NFSOFT_MALLOC_F_HAT   (1U << 5)
#define NFSOFT_MALLOC_F   (1U << 6)
#define NFSOFT_PRESERVE_F_HAT   (1U << 7)
#define NFSOFT_PRESERVE_X   (1U << 8)
#define NFSOFT_PRESERVE_F   (1U << 9)
#define NFSOFT_DESTROY_F_HAT   (1U << 10)
#define NFSOFT_DESTROY_X   (1U << 11)
#define NFSOFT_DESTROY_F   (1U << 12)
#define NFSOFT_NO_STABILIZATION   (1U << 13)
#define NFSOFT_CHOOSE_DPT   (1U << 14)
#define NFSOFT_SOFT   (1U << 15)
#define NFSOFT_ZERO_F_HAT   (1U << 16)
#define NFSOFT_INDEX(m, n, l, B)   (((l)+((B)+1))+(2*(B)+2)*(((n)+((B)+1))+(2*(B)+2)*((m)+((B)+1))))
#define NFSOFT_INDEX_TWO(m, n, l, B)   ((B+1)*(B+1)+(B+1)*(B+1)*(m+B)-((m-1)*m*(2*m-1)+(B+1)*(B+2)*(2*B+3))/6)+(posN(n,m,B))+(l-MAX(ABS(m),ABS(n)))
#define NFSOFT_F_HAT_SIZE(B)   (((B)+1)*(4*((B)+1)*((B)+1)-1)/3)
#define SOLVER_MANGLE_DOUBLE(name)   NFFT_CONCAT(solver_, name)
#define SOLVER_MANGLE_FLOAT(name)   NFFT_CONCAT(solverf_, name)
#define SOLVER_MANGLE_LONG_DOUBLE(name)   NFFT_CONCAT(solverl_, name)
#define SOLVER_DEFINE_API(X, Y, R, C)
#define LANDWEBER   (1U<< 0)
#define STEEPEST_DESCENT   (1U<< 1)
#define CGNR   (1U<< 2)
#define CGNE   (1U<< 3)
#define NORMS_FOR_LANDWEBER   (1U<< 4)
#define PRECOMPUTE_WEIGHT   (1U<< 5)
#define PRECOMPUTE_DAMP   (1U<< 6)

Typedefs

typedef void *(* nfft_malloc_type_function )(size_t n)
typedef void(* nfft_free_type_function )(void *p)
typedef void(* nfft_die_type_function )(const char *errString)
typedef struct fptf_set_s_ * fptf_set
 A set of precomputed data for a set of DPT transforms of equal maximum length.
typedef struct fpt_set_s_fpt_set
 A set of precomputed data for a set of DPT transforms of equal maximum length.
typedef struct fptl_set_s_ * fptl_set
 A set of precomputed data for a set of DPT transforms of equal maximum length.
typedef struct nfsoftf_plan_ nfsoftf_plan
typedef struct nfsoft_plan_ nfsoft_plan
typedef struct nfsoftl_plan_ nfsoftl_plan

Functions

void * nfft_malloc (size_t n)
void nfft_free (void *p)
void nfft_die (char *s)
void nfftf_trafo_direct (nfftf_plan *ths)
void nfftf_adjoint_direct (nfftf_plan *ths)
void nfftf_trafo (nfftf_plan *ths)
void nfftf_trafo_1d (nfftf_plan *ths)
void nfftf_trafo_2d (nfftf_plan *ths)
void nfftf_trafo_3d (nfftf_plan *ths)
void nfftf_adjoint (nfftf_plan *ths)
void nfftf_adjoint_1d (nfftf_plan *ths)
void nfftf_adjoint_2d (nfftf_plan *ths)
void nfftf_adjoint_3d (nfftf_plan *ths)
void nfftf_init_1d (nfftf_plan *ths, int N1, int M)
void nfftf_init_2d (nfftf_plan *ths, int N1, int N2, int M)
void nfftf_init_3d (nfftf_plan *ths, int N1, int N2, int N3, int M)
void nfftf_init (nfftf_plan *ths, int d, int *N, int M)
void nfftf_init_guru (nfftf_plan *ths, int d, int *N, int M, int *n, int m, unsigned nfft_flags, unsigned fftw_flags)
void nfftf_precompute_one_psi (nfftf_plan *ths)
void nfftf_precompute_full_psi (nfftf_plan *ths)
void nfftf_precompute_psi (nfftf_plan *ths)
void nfftf_precompute_lin_psi (nfftf_plan *ths)
const char * nfftf_check (nfftf_plan *ths)
void nfftf_finalize (nfftf_plan *ths)
void nfft_trafo_direct (nfft_plan *ths)
void nfft_adjoint_direct (nfft_plan *ths)
void nfft_trafo (nfft_plan *ths)
 user routines
void nfft_trafo_1d (nfft_plan *ths)
void nfft_trafo_2d (nfft_plan *ths)
void nfft_trafo_3d (nfft_plan *ths)
void nfft_adjoint (nfft_plan *ths)
void nfft_adjoint_1d (nfft_plan *ths)
void nfft_adjoint_2d (nfft_plan *ths)
void nfft_adjoint_3d (nfft_plan *ths)
void nfft_init_1d (nfft_plan *ths, int N1, int M)
void nfft_init_2d (nfft_plan *ths, int N1, int N2, int M)
void nfft_init_3d (nfft_plan *ths, int N1, int N2, int N3, int M)
void nfft_init (nfft_plan *ths, int d, int *N, int M)
void nfft_init_guru (nfft_plan *ths, int d, int *N, int M, int *n, int m, unsigned nfft_flags, unsigned fftw_flags)
void nfft_precompute_one_psi (nfft_plan *ths)
void nfft_precompute_full_psi (nfft_plan *ths)
void nfft_precompute_psi (nfft_plan *ths)
void nfft_precompute_lin_psi (nfft_plan *ths)
 create a lookup table, but NOT for each node good idea K=2^xx TODO: estimate K, call from init assumes an EVEN window function
const char * nfft_check (nfft_plan *ths)
void nfft_finalize (nfft_plan *ths)
void nfftl_trafo_direct (nfftl_plan *ths)
void nfftl_adjoint_direct (nfftl_plan *ths)
void nfftl_trafo (nfftl_plan *ths)
void nfftl_trafo_1d (nfftl_plan *ths)
void nfftl_trafo_2d (nfftl_plan *ths)
void nfftl_trafo_3d (nfftl_plan *ths)
void nfftl_adjoint (nfftl_plan *ths)
void nfftl_adjoint_1d (nfftl_plan *ths)
void nfftl_adjoint_2d (nfftl_plan *ths)
void nfftl_adjoint_3d (nfftl_plan *ths)
void nfftl_init_1d (nfftl_plan *ths, int N1, int M)
void nfftl_init_2d (nfftl_plan *ths, int N1, int N2, int M)
void nfftl_init_3d (nfftl_plan *ths, int N1, int N2, int N3, int M)
void nfftl_init (nfftl_plan *ths, int d, int *N, int M)
void nfftl_init_guru (nfftl_plan *ths, int d, int *N, int M, int *n, int m, unsigned nfft_flags, unsigned fftw_flags)
void nfftl_precompute_one_psi (nfftl_plan *ths)
void nfftl_precompute_full_psi (nfftl_plan *ths)
void nfftl_precompute_psi (nfftl_plan *ths)
void nfftl_precompute_lin_psi (nfftl_plan *ths)
const char * nfftl_check (nfftl_plan *ths)
void nfftl_finalize (nfftl_plan *ths)
void nfctf_init_1d (nfctf_plan *ths_plan, int N0, int M_total)
void nfctf_init_2d (nfctf_plan *ths_plan, int N0, int N1, int M_total)
void nfctf_init_3d (nfctf_plan *ths_plan, int N0, int N1, int N2, int M_total)
void nfctf_init (nfctf_plan *ths_plan, int d, int *N, int M_total)
void nfctf_init_guru (nfctf_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfct_flags, unsigned fftw_flags)
void nfctf_precompute_psi (nfctf_plan *ths_plan)
void nfctf_trafo (nfctf_plan *ths_plan)
void nfctf_trafo_direct (nfctf_plan *ths_plan)
void nfctf_adjoint (nfctf_plan *ths_plan)
void nfctf_adjoint_direct (nfctf_plan *ths_plan)
void nfctf_finalize (nfctf_plan *ths_plan)
float nfctf_phi_hut (nfctf_plan *ths_plan, int k, int d)
float nfctf_phi (nfctf_plan *ths_plan, float x, int d)
void nfct_init_1d (nfct_plan *ths_plan, int N0, int M_total)
void nfct_init_2d (nfct_plan *ths_plan, int N0, int N1, int M_total)
void nfct_init_3d (nfct_plan *ths_plan, int N0, int N1, int N2, int M_total)
void nfct_init (nfct_plan *ths_plan, int d, int *N, int M_total)
void nfct_init_guru (nfct_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfct_flags, unsigned fftw_flags)
void nfct_precompute_psi (nfct_plan *ths_plan)
void nfct_trafo (nfct_plan *ths_plan)
void nfct_trafo_direct (nfct_plan *ths_plan)
void nfct_adjoint (nfct_plan *ths_plan)
void nfct_adjoint_direct (nfct_plan *ths_plan)
void nfct_finalize (nfct_plan *ths_plan)
double nfct_phi_hut (nfct_plan *ths_plan, int k, int d)
double nfct_phi (nfct_plan *ths_plan, double x, int d)
void nfctl_init_1d (nfctl_plan *ths_plan, int N0, int M_total)
void nfctl_init_2d (nfctl_plan *ths_plan, int N0, int N1, int M_total)
void nfctl_init_3d (nfctl_plan *ths_plan, int N0, int N1, int N2, int M_total)
void nfctl_init (nfctl_plan *ths_plan, int d, int *N, int M_total)
void nfctl_init_guru (nfctl_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfct_flags, unsigned fftw_flags)
void nfctl_precompute_psi (nfctl_plan *ths_plan)
void nfctl_trafo (nfctl_plan *ths_plan)
void nfctl_trafo_direct (nfctl_plan *ths_plan)
void nfctl_adjoint (nfctl_plan *ths_plan)
void nfctl_adjoint_direct (nfctl_plan *ths_plan)
void nfctl_finalize (nfctl_plan *ths_plan)
long double nfctl_phi_hut (nfctl_plan *ths_plan, int k, int d)
long double nfctl_phi (nfctl_plan *ths_plan, long double x, int d)
void nfstf_init_1d (nfstf_plan *ths_plan, int N0, int M_total)
void nfstf_init_2d (nfstf_plan *ths_plan, int N0, int N1, int M_total)
void nfstf_init_3d (nfstf_plan *ths_plan, int N0, int N1, int N2, int M_total)
void nfstf_init (nfstf_plan *ths_plan, int d, int *N, int M_total)
void nfstf_init_m (nfstf_plan *ths_plan, int d, int *N, int M_total, int m)
void nfstf_init_guru (nfstf_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfst_flags, unsigned fftw_flags)
void nfstf_precompute_psi (nfstf_plan *ths_plan)
void nfstf_trafo (nfstf_plan *ths_plan)
void nfstf_trafo_direct (nfstf_plan *ths_plan)
void nfstf_adjoint (nfstf_plan *ths_plan)
void nfstf_adjoint_direct (nfstf_plan *ths_plan)
void nfstf_finalize (nfstf_plan *ths_plan)
void nfstf_full_psi (nfstf_plan *ths_plan, float eps)
float nfstf_phi_hut (nfstf_plan *ths_plan, int k, int d)
float nfstf_phi (nfstf_plan *ths_plan, float x, int d)
int nfstf_fftw_2N (int n)
int nfstf_fftw_2N_rev (int n)
void nfst_init_1d (nfst_plan *ths_plan, int N0, int M_total)
void nfst_init_2d (nfst_plan *ths_plan, int N0, int N1, int M_total)
void nfst_init_3d (nfst_plan *ths_plan, int N0, int N1, int N2, int M_total)
void nfst_init (nfst_plan *ths_plan, int d, int *N, int M_total)
void nfst_init_m (nfst_plan *ths_plan, int d, int *N, int M_total, int m)
void nfst_init_guru (nfst_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfst_flags, unsigned fftw_flags)
void nfst_precompute_psi (nfst_plan *ths_plan)
void nfst_trafo (nfst_plan *ths_plan)
 user routines
void nfst_trafo_direct (nfst_plan *ths_plan)
void nfst_adjoint (nfst_plan *ths_plan)
void nfst_adjoint_direct (nfst_plan *ths_plan)
void nfst_finalize (nfst_plan *ths_plan)
void nfst_full_psi (nfst_plan *ths_plan, double eps)
 more memory usage, a bit faster
double nfst_phi_hut (nfst_plan *ths_plan, int k, int d)
double nfst_phi (nfst_plan *ths_plan, double x, int d)
int nfst_fftw_2N (int n)
int nfst_fftw_2N_rev (int n)
void nfstl_init_1d (nfstl_plan *ths_plan, int N0, int M_total)
void nfstl_init_2d (nfstl_plan *ths_plan, int N0, int N1, int M_total)
void nfstl_init_3d (nfstl_plan *ths_plan, int N0, int N1, int N2, int M_total)
void nfstl_init (nfstl_plan *ths_plan, int d, int *N, int M_total)
void nfstl_init_m (nfstl_plan *ths_plan, int d, int *N, int M_total, int m)
void nfstl_init_guru (nfstl_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfst_flags, unsigned fftw_flags)
void nfstl_precompute_psi (nfstl_plan *ths_plan)
void nfstl_trafo (nfstl_plan *ths_plan)
void nfstl_trafo_direct (nfstl_plan *ths_plan)
void nfstl_adjoint (nfstl_plan *ths_plan)
void nfstl_adjoint_direct (nfstl_plan *ths_plan)
void nfstl_finalize (nfstl_plan *ths_plan)
void nfstl_full_psi (nfstl_plan *ths_plan, long double eps)
long double nfstl_phi_hut (nfstl_plan *ths_plan, int k, int d)
long double nfstl_phi (nfstl_plan *ths_plan, long double x, int d)
int nfstl_fftw_2N (int n)
int nfstl_fftw_2N_rev (int n)
void nnfftf_init (nnfftf_plan *ths_plan, int d, int N_total, int M_total, int *N)
void nnfftf_init_guru (nnfftf_plan *ths_plan, int d, int N_total, int M_total, int *N, int *N1, int m, unsigned nnfft_flags)
void nnfftf_trafo_direct (nnfftf_plan *ths_plan)
void nnfftf_adjoint_direct (nnfftf_plan *ths_plan)
void nnfftf_trafo (nnfftf_plan *ths_plan)
void nnfftf_adjoint (nnfftf_plan *ths_plan)
void nnfftf_precompute_lin_psi (nnfftf_plan *ths_plan)
void nnfftf_precompute_psi (nnfftf_plan *ths_plan)
void nnfftf_precompute_full_psi (nnfftf_plan *ths_plan)
void nnfftf_precompute_phi_hut (nnfftf_plan *ths_plan)
void nnfftf_finalize (nnfftf_plan *ths_plan)
void nnfft_init (nnfft_plan *ths_plan, int d, int N_total, int M_total, int *N)
void nnfft_init_guru (nnfft_plan *ths_plan, int d, int N_total, int M_total, int *N, int *N1, int m, unsigned nnfft_flags)
void nnfft_trafo_direct (nnfft_plan *ths_plan)
void nnfft_adjoint_direct (nnfft_plan *ths_plan)
void nnfft_trafo (nnfft_plan *ths_plan)
 user routines
void nnfft_adjoint (nnfft_plan *ths_plan)
void nnfft_precompute_lin_psi (nnfft_plan *ths_plan)
 create a lookup table
void nnfft_precompute_psi (nnfft_plan *ths_plan)
void nnfft_precompute_full_psi (nnfft_plan *ths_plan)
 computes all entries of B explicitly
void nnfft_precompute_phi_hut (nnfft_plan *ths_plan)
 initialisation of direct transform
void nnfft_finalize (nnfft_plan *ths_plan)
void nnfftl_init (nnfftl_plan *ths_plan, int d, int N_total, int M_total, int *N)
void nnfftl_init_guru (nnfftl_plan *ths_plan, int d, int N_total, int M_total, int *N, int *N1, int m, unsigned nnfft_flags)
void nnfftl_trafo_direct (nnfftl_plan *ths_plan)
void nnfftl_adjoint_direct (nnfftl_plan *ths_plan)
void nnfftl_trafo (nnfftl_plan *ths_plan)
void nnfftl_adjoint (nnfftl_plan *ths_plan)
void nnfftl_precompute_lin_psi (nnfftl_plan *ths_plan)
void nnfftl_precompute_psi (nnfftl_plan *ths_plan)
void nnfftl_precompute_full_psi (nnfftl_plan *ths_plan)
void nnfftl_precompute_phi_hut (nnfftl_plan *ths_plan)
void nnfftl_finalize (nnfftl_plan *ths_plan)
void nsfftf_trafo_direct (nsfftf_plan *ths)
void nsfftf_adjoint_direct (nsfftf_plan *ths)
void nsfftf_trafo (nsfftf_plan *ths)
void nsfftf_adjoint (nsfftf_plan *ths)
void nsfftf_cp (nsfftf_plan *ths, nfftf_plan *ths_nfft)
void nsfftf_init_random_nodes_coeffs (nsfftf_plan *ths)
void nsfftf_init (nsfftf_plan *ths, int d, int J, int M, int m, unsigned flags)
void nsfftf_finalize (nsfftf_plan *ths)
void nsfft_trafo_direct (nsfft_plan *ths)
void nsfft_adjoint_direct (nsfft_plan *ths)
void nsfft_trafo (nsfft_plan *ths)
void nsfft_adjoint (nsfft_plan *ths)
void nsfft_cp (nsfft_plan *ths, nfft_plan *ths_nfft)
void nsfft_init_random_nodes_coeffs (nsfft_plan *ths)
void nsfft_init (nsfft_plan *ths, int d, int J, int M, int m, unsigned flags)
void nsfft_finalize (nsfft_plan *ths)
void nsfftl_trafo_direct (nsfftl_plan *ths)
void nsfftl_adjoint_direct (nsfftl_plan *ths)
void nsfftl_trafo (nsfftl_plan *ths)
void nsfftl_adjoint (nsfftl_plan *ths)
void nsfftl_cp (nsfftl_plan *ths, nfftl_plan *ths_nfft)
void nsfftl_init_random_nodes_coeffs (nsfftl_plan *ths)
void nsfftl_init (nsfftl_plan *ths, int d, int J, int M, int m, unsigned flags)
void nsfftl_finalize (nsfftl_plan *ths)
void mrif_inh_2d1d_trafo (mrif_inh_2d1d_plan *ths)
void mrif_inh_2d1d_adjoint (mrif_inh_2d1d_plan *ths)
void mrif_inh_2d1d_init_guru (mrif_inh_2d1d_plan *ths, int *N, int M, int *n, int m, float sigma, unsigned nfft_flags, unsigned fftw_flags)
void mrif_inh_2d1d_finalize (mrif_inh_2d1d_plan *ths)
void mrif_inh_3d_trafo (mrif_inh_3d_plan *ths)
void mrif_inh_3d_adjoint (mrif_inh_3d_plan *ths)
void mrif_inh_3d_init_guru (mrif_inh_3d_plan *ths, int *N, int M, int *n, int m, float sigma, unsigned nfft_flags, unsigned fftw_flags)
void mrif_inh_3d_finalize (mrif_inh_3d_plan *ths)
void mri_inh_2d1d_trafo (mri_inh_2d1d_plan *ths)
void mri_inh_2d1d_adjoint (mri_inh_2d1d_plan *ths)
void mri_inh_2d1d_init_guru (mri_inh_2d1d_plan *ths, int *N, int M, int *n, int m, double sigma, unsigned nfft_flags, unsigned fftw_flags)
void mri_inh_2d1d_finalize (mri_inh_2d1d_plan *ths)
void mri_inh_3d_trafo (mri_inh_3d_plan *ths)
void mri_inh_3d_adjoint (mri_inh_3d_plan *ths)
void mri_inh_3d_init_guru (mri_inh_3d_plan *ths, int *N, int M, int *n, int m, double sigma, unsigned nfft_flags, unsigned fftw_flags)
void mri_inh_3d_finalize (mri_inh_3d_plan *ths)
void mril_inh_2d1d_trafo (mril_inh_2d1d_plan *ths)
void mril_inh_2d1d_adjoint (mril_inh_2d1d_plan *ths)
void mril_inh_2d1d_init_guru (mril_inh_2d1d_plan *ths, int *N, int M, int *n, int m, long double sigma, unsigned nfft_flags, unsigned fftw_flags)
void mril_inh_2d1d_finalize (mril_inh_2d1d_plan *ths)
void mril_inh_3d_trafo (mril_inh_3d_plan *ths)
void mril_inh_3d_adjoint (mril_inh_3d_plan *ths)
void mril_inh_3d_init_guru (mril_inh_3d_plan *ths, int *N, int M, int *n, int m, long double sigma, unsigned nfft_flags, unsigned fftw_flags)
void mril_inh_3d_finalize (mril_inh_3d_plan *ths)
void nfsftf_init (nfsftf_plan *plan, int N, int M)
void nfsftf_init_advanced (nfsftf_plan *plan, int N, int M, unsigned int nfsft_flags)
void nfsftf_init_guru (nfsftf_plan *plan, int N, int M, unsigned int nfsft_flags, unsigned int nfft_flags, int nfft_cutoff)
void nfsftf_precompute (int N, float kappa, unsigned int nfsft_flags, unsigned int fpt_flags)
void nfsftf_forget (void)
void nfsftf_trafo_direct (nfsftf_plan *plan)
void nfsftf_adjoint_direct (nfsftf_plan *plan)
void nfsftf_trafo (nfsftf_plan *plan)
void nfsftf_adjoint (nfsftf_plan *plan)
void nfsftf_finalize (nfsftf_plan *plan)
void nfsftf_precompute_x (nfsftf_plan *plan)
void nfsft_init (nfsft_plan *plan, int N, int M)
void nfsft_init_advanced (nfsft_plan *plan, int N, int M, unsigned int nfsft_flags)
void nfsft_init_guru (nfsft_plan *plan, int N, int M, unsigned int nfsft_flags, unsigned int nfft_flags, int nfft_cutoff)
void nfsft_precompute (int N, double kappa, unsigned int nfsft_flags, unsigned int fpt_flags)
void nfsft_forget (void)
void nfsft_trafo_direct (nfsft_plan *plan)
void nfsft_adjoint_direct (nfsft_plan *plan)
void nfsft_trafo (nfsft_plan *plan)
void nfsft_adjoint (nfsft_plan *plan)
void nfsft_finalize (nfsft_plan *plan)
void nfsft_precompute_x (nfsft_plan *plan)
void nfsftl_init (nfsftl_plan *plan, int N, int M)
void nfsftl_init_advanced (nfsftl_plan *plan, int N, int M, unsigned int nfsft_flags)
void nfsftl_init_guru (nfsftl_plan *plan, int N, int M, unsigned int nfsft_flags, unsigned int nfft_flags, int nfft_cutoff)
void nfsftl_precompute (int N, long double kappa, unsigned int nfsft_flags, unsigned int fpt_flags)
void nfsftl_forget (void)
void nfsftl_trafo_direct (nfsftl_plan *plan)
void nfsftl_adjoint_direct (nfsftl_plan *plan)
void nfsftl_trafo (nfsftl_plan *plan)
void nfsftl_adjoint (nfsftl_plan *plan)
void nfsftl_finalize (nfsftl_plan *plan)
void nfsftl_precompute_x (nfsftl_plan *plan)
fptf_set fptf_init (const int M, const int t, const unsigned int flags)
void fptf_precompute (fptf_set set, const int m, float *alpha, float *beta, float *gam, int k_start, const float threshold)
void fptf_trafo_direct (fptf_set set, const int m, const fftwf_complex *x, fftwf_complex *y, const int k_end, const unsigned int flags)
void fptf_trafo (fptf_set set, const int m, const fftwf_complex *x, fftwf_complex *y, const int k_end, const unsigned int flags)
void fptf_transposed_direct (fptf_set set, const int m, fftwf_complex *x, fftwf_complex *y, const int k_end, const unsigned int flags)
void fptf_transposed (fptf_set set, const int m, fftwf_complex *x, fftwf_complex *y, const int k_end, const unsigned int flags)
void fptf_finalize (fptf_set set)
fpt_set fpt_init (const int M, const int t, const unsigned int flags)
void fpt_precompute (fpt_set set, const int m, double *alpha, double *beta, double *gam, int k_start, const double threshold)
void fpt_trafo_direct (fpt_set set, const int m, const fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags)
void fpt_trafo (fpt_set set, const int m, const fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags)
void fpt_transposed_direct (fpt_set set, const int m, fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags)
void fpt_transposed (fpt_set set, const int m, fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags)
void fpt_finalize (fpt_set set)
fptl_set fptl_init (const int M, const int t, const unsigned int flags)
void fptl_precompute (fptl_set set, const int m, long double *alpha, long double *beta, long double *gam, int k_start, const long double threshold)
void fptl_trafo_direct (fptl_set set, const int m, const fftwl_complex *x, fftwl_complex *y, const int k_end, const unsigned int flags)
void fptl_trafo (fptl_set set, const int m, const fftwl_complex *x, fftwl_complex *y, const int k_end, const unsigned int flags)
void fptl_transposed_direct (fptl_set set, const int m, fftwl_complex *x, fftwl_complex *y, const int k_end, const unsigned int flags)
void fptl_transposed (fptl_set set, const int m, fftwl_complex *x, fftwl_complex *y, const int k_end, const unsigned int flags)
void fptl_finalize (fptl_set set)
void nfsoftf_precompute (nfsoftf_plan *plan)
fptf_set nfsoftf_SO3_single_fpt_init (int l, int k, int m, unsigned int flags, int kappa)
void nfsoftf_SO3_fpt (fftwf_complex *coeffs, fptf_set set, int l, int k, int m, unsigned int nfsoft_flags)
void nfsoftf_SO3_fpt_transposed (fftwf_complex *coeffs, fptf_set set, int l, int k, int m, unsigned int nfsoft_flags)
void nfsoftf_init (nfsoftf_plan *plan, int N, int M)
void nfsoftf_init_advanced (nfsoftf_plan *plan, int N, int M, unsigned int nfsoft_flags)
void nfsoftf_init_guru (nfsoftf_plan *plan, int N, int M, unsigned int nfsoft_flags, unsigned int nfft_flags, int nfft_cutoff, int fpt_kappa)
void nfsoftf_trafo (nfsoftf_plan *plan_nfsoft)
void nfsoftf_adjoint (nfsoftf_plan *plan_nfsoft)
void nfsoftf_finalize (nfsoftf_plan *plan)
int nfsoftf_posN (int n, int m, int B)
void nfsoft_precompute (nfsoft_plan *plan)
fpt_set nfsoft_SO3_single_fpt_init (int l, int k, int m, unsigned int flags, int kappa)
void nfsoft_SO3_fpt (fftw_complex *coeffs, fpt_set set, int l, int k, int m, unsigned int nfsoft_flags)
void nfsoft_SO3_fpt_transposed (fftw_complex *coeffs, fpt_set set, int l, int k, int m, unsigned int nfsoft_flags)
void nfsoft_init (nfsoft_plan *plan, int N, int M)
void nfsoft_init_advanced (nfsoft_plan *plan, int N, int M, unsigned int nfsoft_flags)
void nfsoft_init_guru (nfsoft_plan *plan, int N, int M, unsigned int nfsoft_flags, unsigned int nfft_flags, int nfft_cutoff, int fpt_kappa)
void nfsoft_trafo (nfsoft_plan *plan_nfsoft)
void nfsoft_adjoint (nfsoft_plan *plan_nfsoft)
void nfsoft_finalize (nfsoft_plan *plan)
int nfsoft_posN (int n, int m, int B)
void nfsoftl_precompute (nfsoftl_plan *plan)
fptl_set nfsoftl_SO3_single_fpt_init (int l, int k, int m, unsigned int flags, int kappa)
void nfsoftl_SO3_fpt (fftwl_complex *coeffs, fptl_set set, int l, int k, int m, unsigned int nfsoft_flags)
void nfsoftl_SO3_fpt_transposed (fftwl_complex *coeffs, fptl_set set, int l, int k, int m, unsigned int nfsoft_flags)
void nfsoftl_init (nfsoftl_plan *plan, int N, int M)
void nfsoftl_init_advanced (nfsoftl_plan *plan, int N, int M, unsigned int nfsoft_flags)
void nfsoftl_init_guru (nfsoftl_plan *plan, int N, int M, unsigned int nfsoft_flags, unsigned int nfft_flags, int nfft_cutoff, int fpt_kappa)
void nfsoftl_trafo (nfsoftl_plan *plan_nfsoft)
void nfsoftl_adjoint (nfsoftl_plan *plan_nfsoft)
void nfsoftl_finalize (nfsoftl_plan *plan)
int nfsoftl_posN (int n, int m, int B)
void solverf_init_advanced_complex (solverf_plan_complex *ths, nfftf_mv_plan_complex *mv, unsigned flags)
void solverf_init_complex (solverf_plan_complex *ths, nfftf_mv_plan_complex *mv)
void solverf_before_loop_complex (solverf_plan_complex *ths)
void solverf_loop_one_step_complex (solverf_plan_complex *ths)
void solverf_finalize_complex (solverf_plan_complex *ths)
void solverf_init_advanced_double (solverf_plan_double *ths, nfftf_mv_plan_double *mv, unsigned flags)
void solverf_solver_init_double (solverf_plan_double *ths, nfftf_mv_plan_double *mv)
void solverf_solver_before_loop_double (solverf_plan_double *ths)
void solverf_solver_loop_one_step_double (solverf_plan_double *ths)
void solverf_solver_finalize_double (solverf_plan_double *ths)
void solver_init_advanced_complex (solver_plan_complex *ths, nfft_mv_plan_complex *mv, unsigned flags)
void solver_init_complex (solver_plan_complex *ths, nfft_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, nfft_mv_plan_double *mv, unsigned flags)
 void solver_finalize
void solver_solver_init_double (solver_plan_double *ths, nfft_mv_plan_double *mv)
void solver_solver_before_loop_double (solver_plan_double *ths)
void solver_solver_loop_one_step_double (solver_plan_double *ths)
void solver_solver_finalize_double (solver_plan_double *ths)
void solverl_init_advanced_complex (solverl_plan_complex *ths, nfftl_mv_plan_complex *mv, unsigned flags)
void solverl_init_complex (solverl_plan_complex *ths, nfftl_mv_plan_complex *mv)
void solverl_before_loop_complex (solverl_plan_complex *ths)
void solverl_loop_one_step_complex (solverl_plan_complex *ths)
void solverl_finalize_complex (solverl_plan_complex *ths)
void solverl_init_advanced_double (solverl_plan_double *ths, nfftl_mv_plan_double *mv, unsigned flags)
void solverl_solver_init_double (solverl_plan_double *ths, nfftl_mv_plan_double *mv)
void solverl_solver_before_loop_double (solverl_plan_double *ths)
void solverl_solver_loop_one_step_double (solverl_plan_double *ths)
void solverl_solver_finalize_double (solverl_plan_double *ths)

Variables

nfft_malloc_type_function nfft_malloc_hook
nfft_free_type_function nfft_free_hook
nfft_die_type_function nfft_die_hook

Detailed Description

Header file for NFFT3

Definition in file nfft3.h.


Macro Definition Documentation

#define MACRO_MV_PLAN (   RC)
Value:
int N_total; \
int M_total; \
RC *f_hat; \
RC *f; \
void (*mv_trafo)(void*); \
void (*mv_adjoint)(void*);

Pointer to the own adjoint.

Definition at line 69 of file nfft3.h.

#define NSFFT_DEFINE_API (   X,
  Y,
  Z,
  R,
 
)
Value:
typedef struct\
{\
MACRO_MV_PLAN(C)\
\
int d; \
int J; \
int sigma; \
unsigned flags; \
int *index_sparse_to_full; \
int r_act_nfft_plan; \
Z(plan) *act_nfft_plan; \
Z(plan) *center_nfft_plan; \
Y(plan) *set_fftw_plan1; \
Y(plan) *set_fftw_plan2; \
Z(plan) *set_nfft_plan_1d; \
Z(plan) *set_nfft_plan_2d; \
R *x_transposed; \
R *x_102,*x_201,*x_120,*x_021; \
} X(plan);\
\
NFFT_EXTERN void X(trafo_direct)(X(plan) *ths); \
NFFT_EXTERN void X(adjoint_direct)(X(plan) *ths); \
NFFT_EXTERN void X(trafo)(X(plan) *ths); \
NFFT_EXTERN void X(adjoint)(X(plan) *ths); \
NFFT_EXTERN void X(cp)(X(plan) *ths, Z(plan) *ths_nfft); \
NFFT_EXTERN void X(init_random_nodes_coeffs)(X(plan) *ths); \
NFFT_EXTERN void X(init)(X(plan) *ths, int d, int J, int M, int m, unsigned flags); \
NFFT_EXTERN void X(finalize)(X(plan) *ths);

Definition at line 419 of file nfft3.h.

#define MRI_DEFINE_API (   X,
  Z,
  R,
 
)
Value:
typedef struct\
{\
MACRO_MV_PLAN(C)\
Z(plan) plan;\
int N3;\
R sigma3;\
R *t;\
R *w;\
} X(inh_2d1d_plan);\
\
typedef struct\
{\
MACRO_MV_PLAN(C)\
Z(plan) plan;\
int N3;\
R sigma3;\
R *t;\
R *w;\
} X(inh_3d_plan);\
\
void X(inh_2d1d_trafo)(X(inh_2d1d_plan) *ths); \
void X(inh_2d1d_adjoint)(X(inh_2d1d_plan) *ths); \
void X(inh_2d1d_init_guru)(X(inh_2d1d_plan) *ths, int *N, int M, int *n, \
int m, R sigma, unsigned nfft_flags, unsigned fftw_flags); \
void X(inh_2d1d_finalize)(X(inh_2d1d_plan) *ths); \
void X(inh_3d_trafo)(X(inh_3d_plan) *ths); \
void X(inh_3d_adjoint)(X(inh_3d_plan) *ths); \
void X(inh_3d_init_guru)(X(inh_3d_plan) *ths, int *N, int M, int *n, \
int m, R sigma, unsigned nfft_flags, unsigned fftw_flags); \
void X(inh_3d_finalize)(X(inh_3d_plan) *ths);

Definition at line 470 of file nfft3.h.

#define FPT_DEFINE_API (   X,
  Y,
  R,
 
)
Value:
typedef struct X(set_s_) *X(set); \
\
NFFT_EXTERN X(set) X(init)(const int M, const int t, const unsigned int flags); \
NFFT_EXTERN void X(precompute)(X(set) set, const int m, R *alpha, R *beta, \
R *gam, int k_start, const R threshold); \
NFFT_EXTERN void X(trafo_direct)(X(set) set, const int m, const C *x, C *y, \
const int k_end, const unsigned int flags); \
NFFT_EXTERN void X(trafo)(X(set) set, const int m, const C *x, C *y, \
const int k_end, const unsigned int flags); \
NFFT_EXTERN void X(transposed_direct)(X(set) set, const int m, C *x, \
C *y, const int k_end, const unsigned int flags); \
NFFT_EXTERN void X(transposed)(X(set) set, const int m, C *x, \
C *y, const int k_end, const unsigned int flags); \
NFFT_EXTERN void X(finalize)(X(set) set);

Definition at line 589 of file nfft3.h.

#define NFSOFT_DEFINE_API (   X,
  Y,
  Z,
  R,
 
)
Value:
typedef struct X(plan_)\
{\
MACRO_MV_PLAN(C) \
R *x; \
C *wig_coeffs; \
C *cheby; \
C *aux; \
/* internal use only */\
int t; \
unsigned int flags; \
Y(plan) p_nfft; \
Z(set) internal_fpt_set; \
int fpt_kappa; \
} X(plan);\
\
NFFT_EXTERN void X(precompute)(X(plan) *plan); \
NFFT_EXTERN Z(set) X(SO3_single_fpt_init)(int l, int k, int m, unsigned int flags, int kappa); \
NFFT_EXTERN void X(SO3_fpt)(C *coeffs, Z(set) set, int l, int k, int m, unsigned int nfsoft_flags); \
NFFT_EXTERN void X(SO3_fpt_transposed)(C *coeffs, Z(set) set,int l, int k, int m,unsigned int nfsoft_flags); \
NFFT_EXTERN void X(init)(X(plan) *plan, int N, int M); \
NFFT_EXTERN void X(init_advanced)(X(plan) *plan, int N, int M,unsigned int nfsoft_flags); \
NFFT_EXTERN void X(init_guru)(X(plan) *plan, int N, int M,unsigned int nfsoft_flags,unsigned int nfft_flags,int nfft_cutoff,int fpt_kappa); \
NFFT_EXTERN void X(trafo)(X(plan) *plan_nfsoft); \
NFFT_EXTERN void X(adjoint)(X(plan) *plan_nfsoft); \
NFFT_EXTERN void X(finalize)(X(plan) *plan); \
NFFT_EXTERN int X(posN)(int n,int m, int B);

Definition at line 633 of file nfft3.h.


Typedef Documentation

typedef void *(* nfft_malloc_type_function)(size_t n)

A malloc type function

Definition at line 61 of file nfft3.h.

typedef void(* nfft_free_type_function)(void *p)

A free type function

Definition at line 62 of file nfft3.h.

typedef struct fptf_set_s_* fptf_set

A set of precomputed data for a set of DPT transforms of equal maximum length.

Definition at line 607 of file nfft3.h.

typedef struct fpt_set_s_* fpt_set

A set of precomputed data for a set of DPT transforms of equal maximum length.

Definition at line 607 of file nfft3.h.

typedef struct fptl_set_s_* fptl_set

A set of precomputed data for a set of DPT transforms of equal maximum length.

Definition at line 607 of file nfft3.h.


Function Documentation

void * nfft_malloc ( size_t  n)
void nfft_free ( void *  p)
void nfst_trafo ( nfst_plan ths)

user routines

Definition at line 647 of file nfst.c.


Variable Documentation

nfft_malloc_type_function nfft_malloc_hook

Hook for nfft_malloc

nfft_free_type_function nfft_free_hook

Hook for nfft_free


Generated on Tue Apr 30 2013 by Doxygen 1.8.1