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