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 // \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   7 October 2002
00022 //
00023 // \verbatim
00024 //  Modifications
00025 //   Peter Vanroose - 20 aug 2003 - changed parameter and return types from vil_image_view_base_sptr to vil_image_resource_sptr
00026 // \endverbatim
00027 
00028 #include <vil/vil_image_resource.h>
00029 
00030 //: gaussian smoothing with given sigma (default 1)
00031 vil_image_resource_sptr vepl_gaussian_convolution(vil_image_resource_sptr , double sigma=1, double cutoff=0.01);
00032 
00033 #endif // vepl_gaussian_convolution_h_