fir2d(3F)
SFIR2D, DFIR2D, CFIR2D, ZFIR2D - 2D Convolution in the time domain.
As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.
NAME SFIR2D, DFIR2D, CFIR2D, ZFIR2D - 2D Convolution in the time domain. FORTRAN SPECIFICATION subroutine SFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy, g, incg, ldg, igx0, n_gx, igy0, n_gy, h, inch, ldh, ihx0, n_hx, ihy0, n_hy, alpha, beta ) integer incf, ldf, ifx0, n_fx, ify0, n_fy incg, ldg, igx0, n_gx, igy0, n_gy inch, ldh, ihx0, n_hx, ihy0, n_hy real f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta subroutine DFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy, g, incg, ldg, igx0, n_gx, igy0, n_gy, h, inch, ldh, ihx0, n_hx, ihy0, n_hy, alpha, beta ) integer incf, ldf, ifx0, n_fx, ify0, n_fy incg, ldg, igx0, n_gx, igy0, n_gy inch, ldh, ihx0, n_hx, ihy0, n_hy double precision f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta subroutine CFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy, g, incg, ldg, igx0, n_gx, igy0, n_gy, h, inch, ldh, ihx0, n_hx, ihy0, n_hy, alpha, beta ) integer incf, ldf, ifx0, n_fx, ify0, n_fy incg, ldg, igx0, n_gx, igy0, n_gy inch, ldh, ihx0, n_hx, ihy0, n_hy complex f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta subroutine ZFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy, g, incg, ldg, igx0, n_gx, igy0, n_gy, h, inch, ldh, ihx0, n_hx, ihy0, n_hy, alpha, beta ) integer incf, ldf, ifx0, n_fx, ify0, n_fy incg, ldg, igx0, n_gx, igy0, n_gy inch, ldh, ihx0, n_hx, ihy0, n_hy double complex f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta C SPECIFICATION #include <conv.h> void sfir2d( float *f, int incf, int lsf, int ifx0, int n_fx, int ify0, int n_fy, float *g, int incg, int ldg, int igx0, int n_gx, int igy0, int n_gy, float *h, int inch, int ldh, int ihx0, int n_hx, int ihy0, int n_hy, float alpha, float beta) void dfir2d( double *f, int incf, int ldf, int ifx0, int n_fx, int ify0, int n_fy, double *g, int incg, int ldg, int igx0, int n_gx, int igy0, int n_gy, double *h, int inch, int ldh, int ihx0, int n_hx, int ihy0, int n_hy, double alpha, double beta) void cfir2d( complex *f, int incf, int ldf, int ifx0, int n_fx, int ify0, int n_fy, complex *g, int incg, int ldg, int igx0, int n_gx, int igy0, int n_gy, complex *h, int inch, int ldh, int ihx0, int n_hx, int ihy0, int n_hy, complex *alpha, complex *beta) void zfir2d( zomplex *f, int incf, int ldf, int ifx0, int n_fx, int ify0, int n_fy, zomplex *g, int incg, int ldg, int igx0, int n_gx, int igy0, int n_gy, zomplex *h, int inch, int ldh, int ihx0, int n_hx, int ihy0, int n_hy, zomplex *alpha, zomplex *beta) DESCRIPTION SFIR2D and DFIR2D compute a 2D convolution in the time domain : h(i,j) = beta * h(i,j) + alpha * Sum.Sum[ f(k,l) * g(i-k,j-l) ] PARAMETERS f Vector containing sequence "f" incf Increment between two successive lines of "f" ldf Increment between two successive columns of "f" ifx0 Index of the first element of each column of "f" n_fx Number of elements (lines) of each column of "f" ify0 Index of the first column of "f" n_fy Index of the last column of "f" g Vector containing sequence "g" incg Increment between two successive lines of "g" ldg Increment between two successive columns of "g" igx0 Index of the first element of each column of "g" n_gx Number of elements (lines) of each column of "g" igy0 Index of the first column of "g" n_gy Index of the last column of "g" h Vector containing sequence "h" inch Increment between two successive lines of "h" ldh Increment between two successive columns of "h" ihx0 Index of the first element of each column of "h" n_hx Number of elements (lines) of each column of "h" ihy0 Index of the first column of "h" n_hy Index of the last column of "h" alpha Scaling factor for the Convolution beta Scaling Factor for the Output on Entry IMPORTANT NOTE: The array pointers must all point to the first element of the array "(ifx0,ify0)", "(igx0,igy0)" and "(ihx0,ihy0)". If "f" for example is defined as dimension f(-25:45,10:21) Then "dfir2d" must be called with the following parameters call dfir2d( f(-25,10),(45-(-25)+1),-25,45,10,21 ... ) AUTHORS Jean-Pierre Panziera, 1/12/93.