src/gaussian.js
function gaussian(src, s, kernelSize) {
    if (typeof s === 'undefined') s = 1;
    if (typeof kernelSize === 'undefined') kernelSize = 7;
    var kernel = gaussianKernel1D(s, kernelSize),
        l = kernelSize || kernel.length,
        kernelH = [kernel],
        kernelV = new Array(l);
    for (var i = 0; i < l; i++) {
        kernelV[i] = [kernel[i]];
    }
    return convolve(convolve(src, kernelH), kernelV);
}
function gaussian(src, s, kernelSize) {
    if (typeof s === 'undefined') s = 1;
    if (typeof kernelSize === 'undefined') kernelSize = 7;
    var kernel = gaussianKernel1D(s, kernelSize),
        l = kernelSize || kernel.length,
        kernelH = [kernel],
        kernelV = new Array(l);
    for (var i = 0; i < l; i++) {
        kernelV[i] = [kernel[i]];
    }
    return convolve(convolve(src, kernelH), kernelV);
}
function gaussian ( src , s , kernelSize ) { if ( typeof s === 'undefined' ) s = 1 ; if ( typeof kernelSize === 'undefined' ) kernelSize = 7 ; var kernel = gaussianKernel1D ( s , kernelSize ) , l = kernelSize || kernel . length , kernelH = [ kernel ] , kernelV = new Array ( l ) ; for ( var i = 0 ; i < l ; i ++ ) { kernelV [ i ] = [ kernel [ i ] ] ; } return convolve ( convolve ( src , kernelH ) , kernelV ) ; }
Perform Gaussian smoothing.

@param {Number[][]} src
The source array to convolve. A nonzero-sized rectangular array of numbers.
@param {Number} [s=1]
The standard deviation of the Gaussian kernel to use. Higher values result
in smoothing across more cells of the src matrix.
@param {Number} [kernelSize=7]
The size of the Gaussian kernel to use. Larger kernels result in slower
but more accurate smoothing.

@return {Number[][]}
An array containing the result of smoothing the src.
Perform Gaussian smoothing .