50 static void window_funct_init(
window_funct_plan* ths, 
int m, 
int n, 
double sigma) {
 
   64   double _Complex *f = (
double _Complex*) 
nfft_malloc(that->
M_total*
sizeof(
double _Complex));
 
   65   double _Complex *f_hat = (
double _Complex*) 
nfft_malloc(that->
N_total*
sizeof(
double _Complex));
 
   68   window_funct_init(ths,that->plan.
m,that->N3,that->sigma3);
 
   71   that->plan.
f = that->
f;
 
   75   memset(f,0,that->
M_total*
sizeof(
double _Complex));
 
   78     f_hat[j]=that->
f_hat[j];
 
   81   for(l=-ths->n[0]/2;l<=ths->n[0]/2;l++) {
 
   83       that->
f_hat[j]*=cexp(-2*
PI*_Complex_I*that->w[j]*((
double)l))/PHI_HUT(ths->n[0]*that->w[j],0);
 
   87       if(fabs(that->t[j]-((
double)l)/((
double)ths->n[0]))<that->plan.
m/((
double)ths->n[0]))
 
   89         double phi_val = PHI(that->t[j]-((
double)l)/((
double)ths->n[0]),0);
 
   90         f[j]+=that->
f[j]*phi_val;
 
   96       that->
f_hat[j]=f_hat[j];
 
  101   that->plan.
f = that->
f;
 
  111   double _Complex *f = (
double _Complex*) 
nfft_malloc(that->
M_total*
sizeof(
double _Complex));
 
  112   double _Complex *f_hat = (
double _Complex*) 
nfft_malloc(that->
N_total*
sizeof(
double _Complex));
 
  115   window_funct_init(ths,that->plan.
m,that->N3,that->sigma3);
 
  117   memset(f_hat,0,that->
N_total*
sizeof(
double _Complex));
 
  120   that->plan.
f = that->
f;
 
  130   for(l=-ths->n[0]/2;l<=ths->n[0]/2;l++) {
 
  134       if(fabs(that->t[j]-((
double)l)/((
double)ths->n[0]))<that->plan.
m/((
double)ths->n[0]))
 
  135         that->
f[j]*=PHI(that->t[j]-((
double)l)/((
double)ths->n[0]),0);
 
  139     nfft_adjoint(&that->plan);
 
  141       f_hat[j]+=that->
f_hat[j]*cexp(2*
PI*_Complex_I*that->w[j]*((
double)l));
 
  148     f_hat[j] /= PHI_HUT(ths->n[0]*that->w[j],0);
 
  162                     int m, 
double sigma, 
unsigned nfft_flags, 
unsigned fftw_flags) {
 
  164   nfft_init_guru(&ths->plan,2,N,M,n,m,nfft_flags,fftw_flags);
 
  169   ths->
f = ths->plan.
f;
 
  175   ths->
mv_trafo = (void (*) (
void* ))mri_inh_2d1d_trafo;
 
  176   ths->
mv_adjoint = (void (*) (
void* ))mri_inh_2d1d_adjoint;
 
  184   ths->plan.
f = ths->
f;
 
  187   nfft_finalize(&ths->plan);
 
  197   window_funct_init(ths,that->plan.
m,that->N3,that->sigma3);
 
  200   that->plan.
f =that->
f ;
 
  205     for(l=-ths->n[0]/2;l<ths->n[0]/2;l++)
 
  208       if(fabs(that->w[j]-((
double)l)/((
double)ths->n[0]))<ths->m/((
double)ths->n[0]))
 
  209         that->plan.
f_hat[j*ths->n[0]+(l+ths->n[0]/2)]= that->
f_hat[j]*PHI(that->w[j]-((
double)l)/((double)ths->n[0]),0);
 
  211         that->plan.
f_hat[j*ths->n[0]+(l+ths->n[0]/2)]=0.0;
 
  219     that->
f[j] /= PHI_HUT(ths->n[0]*that->plan.
x[3*j+2],0);
 
  229   window_funct_init(ths,that->plan.
m,that->N3,that->sigma3);
 
  232   that->plan.
f =that->
f ;
 
  236     that->
f[j] /= PHI_HUT(ths->n[0]*that->plan.
x[3*j+2],0);
 
  239   nfft_adjoint(&that->plan);
 
  243     for(l=-ths->n[0]/2;l<ths->n[0]/2;l++)
 
  246       if(fabs(that->w[j]-((
double)l)/((
double)ths->n[0]))<ths->m/((
double)ths->n[0]))
 
  247         that->
f_hat[j]+= that->plan.
f_hat[j*ths->n[0]+(l+ths->n[0]/2)]*PHI(that->w[j]-((
double)l)/((double)ths->n[0]),0);
 
  257                     int m, 
double sigma, 
unsigned nfft_flags, 
unsigned fftw_flags) {
 
  260   nfft_init_guru(&ths->plan,3,N,M,n,m,nfft_flags,fftw_flags);
 
  263   ths->
f = ths->plan.
f;
 
  267   ths->
mv_trafo = (void (*) (
void* ))mri_inh_3d_trafo;
 
  268   ths->
mv_adjoint = (void (*) (
void* ))mri_inh_3d_adjoint;
 
  274   nfft_finalize(&ths->plan);