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

NNFFT - Nonequispaced in time and frequency FFT

Direct and fast computation of the discrete nonequispaced in time and frequency Fourier transform. More...

Data Structures

struct  nnfft_plan
 Structure for a transform plan. More...

Defines

#define MALLOC_V   (1U<< 11)
 If this flag is set, (de)allocation of the frequency node vector is done.

Functions

void nnfft_init (nnfft_plan *ths_plan, int d, int N_total, int M_total, int *N)
 Creates a transform plan.
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)
 Creates a transform plan.
void nndft_trafo (nnfft_plan *ths_plan)
 Executes a direct NNDFT, i.e.
void nndft_adjoint (nnfft_plan *ths_plan)
 Executes a direct adjoint NNDFT, i.e.
void nnfft_trafo (nnfft_plan *ths_plan)
 Executes a NNFFT, i.e.
void nnfft_adjoint (nnfft_plan *ths_plan)
 Executes a adjoint NNFFT, i.e.
void nnfft_precompute_lin_psi (nnfft_plan *ths_plan)
 Precomputation for a transform plan.
void nnfft_precompute_psi (nnfft_plan *ths_plan)
 Precomputation for a transform plan.
void nnfft_precompute_full_psi (nnfft_plan *ths_plan)
 Precomputation for a transform plan.
void nnfft_precompute_phi_hut (nnfft_plan *ths_plan)
 Precomputation for a transform plan.
void nnfft_finalize (nnfft_plan *ths_plan)
 Destroys a plan.

Detailed Description

Direct and fast computation of the discrete nonequispaced in time and frequency Fourier transform.


Define Documentation

#define MALLOC_V   (1U<< 11)
 

If this flag is set, (de)allocation of the frequency node vector is done.

See also:
nnfft_init

nnfft_init_guru

nnfft_finalize

Author:
Tobias Knopp

Definition at line 958 of file nfft3.h.

Referenced by nnfft_finalize(), nnfft_init(), and reconstruct().


Function Documentation

void nnfft_init nnfft_plan ths,
int  d,
int  N_total,
int  M_total,
int *  N
 

Creates a transform plan.

< index over all dimensions

Definition at line 573 of file nnfft.c.

References nnfft_plan::d, FFT_OUT_OF_PLACE, FFTW_INIT, nnfft_plan::m, nnfft_plan::M_total, MALLOC_F, MALLOC_F_HAT, MALLOC_V, MALLOC_X, nnfft_plan::N, nnfft_plan::N1, nnfft_plan::N_total, nnfft_plan::nnfft_flags, PRE_PHI_HUT, and PRE_PSI.

void nnfft_init_guru nnfft_plan ths,
int  d,
int  N_total,
int  M_total,
int *  N,
int *  N1,
int  m,
unsigned  nnfft_flags
 

Creates a transform plan.

< index over all dimensions

Definition at line 538 of file nnfft.c.

References nnfft_plan::d, FFT_OUT_OF_PLACE, FFTW_INIT, nnfft_plan::m, nnfft_plan::M_total, MALLOC_F_HAT, nnfft_plan::N, nnfft_plan::N1, nnfft_plan::N_total, nnfft_plan::nnfft_flags, PRE_FULL_PSI, PRE_LIN_PSI, PRE_PHI_HUT, and PRE_PSI.

Referenced by reconstruct().

void nndft_trafo nnfft_plan ths  ) 
 

Executes a direct NNDFT, i.e.

< index over all nodes (time)

< index for dimensions

< index over all nodes (fourier)

< dito

< actual Fourier coefficient

< actual sample

< sign times 2*pi*k*x

Definition at line 64 of file nnfft.c.

void nndft_adjoint nnfft_plan ths  ) 
 

Executes a direct adjoint NNDFT, i.e.

< index over all nodes (time)

< index for dimensions

< index over all nodes (fourier)

< dito

< actual Fourier coefficient

< actual sample

< sign times 2*pi*k*x

Definition at line 65 of file nnfft.c.

void nnfft_trafo nnfft_plan ths_plan  ) 
 

Executes a NNFFT, i.e.

computes for $j=0,...,M_{total}-1$

\[ f(x_j) = \sum_{k = 0}^{N_{total}-1} \hat{f}(v_k) {\rm e}^{-2 \pi \mbox{\rm\scriptsize i} v_k x_j \odot N} \]

  • ths_plan The plan
Author:
Tobias Knopp

Definition at line 270 of file nnfft.c.

References nnfft_plan::d, nnfft_plan::direct_plan, nfft_plan::f, nnfft_plan::f, nnfft_plan::M_total, nfft_trafo(), nnfft_plan::sigma, and nnfft_plan::x.

void nnfft_adjoint nnfft_plan ths_plan  ) 
 

Executes a adjoint NNFFT, i.e.

computes for $k=0,...,N_{total}-1$

\[ \hat{f}(v_k) = \sum_{j = 0}^{M_{tota}l-1} f(x_j) {\rm e}^{2 \pi \mbox{\rm\scriptsize i} v_k x_j \odot N} \]

  • ths_plan The plan
Author:
Tobias Knopp

Definition at line 294 of file nnfft.c.

References nnfft_plan::d, nnfft_plan::direct_plan, nfft_plan::f, nnfft_plan::f, nnfft_plan::M_total, nfft_adjoint(), nnfft_plan::sigma, and nnfft_plan::x.

void nnfft_precompute_lin_psi nnfft_plan ths  ) 
 

Precomputation for a transform plan.

< index over all dimensions

< index over all nodes

< step size in [0,(m+1)/n]

Definition at line 342 of file nnfft.c.

References nnfft_plan::direct_plan, nnfft_plan::K, nnfft_plan::m, nnfft_plan::N1, nfft_precompute_lin_psi(), and nnfft_plan::psi.

Referenced by reconstruct().

void nnfft_precompute_psi nnfft_plan ths  ) 
 

Precomputation for a transform plan.

< index over all dimensions

< index over all nodes

< index u<=l<=o

< index 0<=lj<u+o+1

< depends on v_j

Definition at line 360 of file nnfft.c.

References nnfft_plan::d, nnfft_plan::direct_plan, nnfft_plan::m, nnfft_plan::M_total, nnfft_plan::N1, nnfft_plan::N_total, nfft_precompute_psi(), nnfft_plan::psi, nnfft_plan::sigma, nnfft_plan::v, and nnfft_plan::x.

Referenced by nnfft_precompute_full_psi(), and reconstruct().

void nnfft_precompute_full_psi nnfft_plan ths  ) 
 

Precomputation for a transform plan.

< index over all dimensions

< index over all nodes

< plain index 0<=l_L<lprod

< multi index u<=l<=o

< multi index 0<=lj<u+o+1

< postfix plain index

< 'bandwidth' of matrix B

< depends on x_j

Definition at line 399 of file nnfft.c.

References nnfft_plan::d, nnfft_plan::direct_plan, nnfft_plan::m, nnfft_plan::M_total, nnfft_plan::N_total, nfft_precompute_full_psi(), nnfft_precompute_psi(), nnfft_plan::psi, nnfft_plan::psi_index_f, nnfft_plan::psi_index_g, nnfft_plan::sigma, and nnfft_plan::x.

Referenced by reconstruct().

void nnfft_precompute_phi_hut nnfft_plan ths  ) 
 

Precomputation for a transform plan.

< index over all frequencies

< index over all dimensions

Definition at line 320 of file nnfft.c.

References nnfft_plan::c_phi_inv, nnfft_plan::d, nnfft_plan::M_total, nnfft_plan::N, and nnfft_plan::x.

Referenced by reconstruct().

void nnfft_finalize nnfft_plan ths_plan  ) 
 

Destroys a plan.

  • ths_plan The plan
Author:
Tobias Knopp

Definition at line 608 of file nnfft.c.

References nnfft_plan::aN1, nnfft_plan::c_phi_inv, nnfft_plan::direct_plan, nnfft_plan::f, nnfft_plan::f_hat, MALLOC_F, MALLOC_F_HAT, MALLOC_V, MALLOC_X, nnfft_plan::N, nnfft_plan::N1, nfft_finalize(), nnfft_plan::nnfft_flags, PRE_FULL_PSI, PRE_LIN_PSI, PRE_PHI_HUT, PRE_PSI, nnfft_plan::psi, nnfft_plan::psi_index_f, nnfft_plan::psi_index_g, nnfft_plan::v, and nnfft_plan::x.

Referenced by reconstruct().


Generated on 1 Nov 2006 by Doxygen 1.4.4