/// <summary> /// Convolves the provided image with a two dimensional Gaussian of the provided sigma and returns the result, /// subsampled as directed. /// </summary> /// <typeparam name="I">Any image whose pixel values are stored as floats</typeparam> /// <param name="image">The image to convolve.</param> /// <param name="sigma">The sigma to use in the Gaussian</param> /// <param name="subsample">The subsampling frequency.</param> /// <returns>A blurred image</returns> public static I ConvolveGaussian <I>(IArrayHandler <float> image, float sigma, int subsample) where I : IArrayHandler <float>, new() { I result = ConvolveHalf <I>(image, Gaussian.ComputeHalfKernel(sigma), subsample); return(result); }