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