Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

static void Impala::Core::Array::anigauss ( SRCTYPE *  input,
DSTTYPE *  output,
int  sizex,
int  sizey,
double  sigmav,
double  sigmau,
double  phi,
int  orderv,
int  orderu 
) [inline, static]

Definition at line 553 of file AniGauss.h.

References f_iir_derivative_filter(), f_iir_tline_filter(), f_iir_xline_filter(), f_iir_yline_filter(), M_PI, and YvVfilterCoef().

Referenced by AniGauss().

00555 {
00556     double      filter[7];
00557     double sigmax, sigmay, tanp;
00558     double su2, sv2;
00559     double phirad;
00560     double a11, a21, a22;
00561     int    i;
00562 
00563     su2 = sigmau*sigmau;
00564     sv2 = sigmav*sigmav;
00565     phirad = phi*M_PI/180.;
00566 
00567     a11 = cos(phirad)*cos(phirad)*su2 + sin(phirad)*sin(phirad)*sv2;
00568     a21 = cos(phirad)*sin(phirad)*(su2-sv2);
00569     a22 = cos(phirad)*cos(phirad)*sv2 + sin(phirad)*sin(phirad)*su2;
00570 
00571     sigmax = sqrt(a11-a21*a21/a22);
00572     tanp = a21/a22;
00573     sigmay = sqrt(a22);
00574 
00575     /* calculate filter coefficients of x-direction*/
00576     YvVfilterCoef(sigmax, filter);
00577 
00578     /* filter in the x-direction */
00579     f_iir_xline_filter(input,output,sizex,sizey,filter);
00580 
00581     /* calculate filter coefficients in tanp-direction */
00582     YvVfilterCoef(sigmay, filter);
00583 
00584     if (tanp != 0.0) {
00585         /* filter in the tanp-direction */
00586          f_iir_tline_filter(output,output,sizex,sizey,filter, tanp);
00587     }
00588     else {
00589         /* isotropic filter or anisotropic filter aligned with grid */
00590          f_iir_yline_filter(output,output,sizex,sizey,filter);
00591     }
00592 
00593     /* do the derivative filter: [-1,0,1] rotated over phi */
00594     for(i=0; i<orderv; i++)
00595         f_iir_derivative_filter(output, output, sizex, sizey, phirad-M_PI/2., 1);
00596     for(i=0; i<orderu; i++)
00597         f_iir_derivative_filter(output, output, sizex, sizey, phirad, 1);
00598 }

Here is the call graph for this function:


Generated on Fri Mar 19 10:56:05 2010 for ImpalaSrc by  doxygen 1.5.1