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:
|