void gaborCoefficients(double **gabor_filter, double sigma_pow2, int w)
{
double PI= 3.1415926535897932384626;
int mask_size= w*2+1;
double sum= 0;
int j= 0;
double lambda[5]= {4.0, 4*sqrt(2.0), 8.0, 8.0*sqrt(2.0), 16.0};
double psi[8]= {};
for(int mu=0; mu<8; mu++){
psi[mu]=(double)mu*PI/8.0;
}
for(int nu=0; nu<5; nu++){
for(int mu=0; mu<8; mu++){
j= mu+ 8*nu;
for(int yy=0; yy<mask_size; yy++){
for(int xx=0; xx<mask_size; xx++){
double x= xx- w;
double y= yy- w;
double xp= (double)x*cos(psi[mu])+ (double)y*sin(psi[mu]);
double yp= (double)x*(-1)*sin(psi[mu])+ (double)y*cos(psi[mu]);
double tmp= exp(-1*(xp*xp+ yp*yp))/(2.0*1.5*1.5);
//double tmp= exp(-1*(xp*xp+ yp*yp))/(2.0*lambda[nu]*lambda[nu]);
double arg= 2.0*PI*xp/(lambda[nu]+3.0);
gabor_filter[j][2*mask_size*yy+ 2*xx]= tmp*cos(arg);
gabor_filter[j][2*mask_size*yy+ 2*xx+ 1]= tmp*sin(arg);
}
}
}
}
}