contrib/tbl/vepl/vepl_gaussian_convolution.h
Go to the documentation of this file.
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_