00001 #ifndef vepl1_gaussian_convolution_h_ 00002 #define vepl1_gaussian_convolution_h_ 00003 //: 00004 // \file 00005 // \brief gaussian smoothing 00006 // 00007 // Gaussian filtering is an operation that replaces a pixel with the 00008 // average value of its surrounding pixels, in a certain neighbourhood, 00009 // according to a Gaussian distribution (with given sigma= std deviation). 00010 // (The window is cut when `cutoff' (default: 0.01) of the probability mass 00011 // lies out of the window.) 00012 // 00013 // Note that DataIn values must allow addition and multiplication with floats; 00014 // and that the result be expressible as DataOut, possibly after rounding. 00015 // Probably only float and double make sense as DataOut (?) 00016 // 00017 // As this is a separable filter, it is implemented as a row-based 1-D filter 00018 // followed by a column-based 1-D step. 00019 // 00020 // \author Peter Vanroose, K.U.Leuven (ESAT/PSI) 00021 // \date 28 April 2001 00022 00023 #include <vil1/vil1_image.h> 00024 00025 //: gaussian smoothing with given sigma (default 1) 00026 vil1_image vepl1_gaussian_convolution(vil1_image const& , double sigma=1, double cutoff=0.01); 00027 00028 #endif // vepl1_gaussian_convolution_h_