00001 #ifndef vepl1_median_h_ 00002 #define vepl1_median_h_ 00003 //: 00004 // \file 00005 // \brief median filter with circular element 00006 // 00007 // vepl1_median filtering is an operation that replaces a pixel with the 00008 // median value of its surrounding pixels, in a certain neighbourhood. 00009 // Here, the neighbourhood is circular, with an arbitrary (float) radius, 00010 // which is to be passed to the constructor. 00011 // 00012 // Note that the function operator>(DataIn,DataIn) is being used; for 00013 // non-scalar data types (like colour pixels) an appropriate ">" function 00014 // must thus be supplied. 00015 // 00016 // Note also the implicit use of DataOut::DataOut(DataIn), 00017 // which you probably will have to provide when DataIn and DataOut 00018 // are not the same type. It could even be argued that these types should 00019 // always be the same! 00020 // 00021 // \author Peter Vanroose, K.U.Leuven (ESAT/PSI) 00022 // \date 28 April 2001 00023 00024 #include <vil1/vil1_image.h> 00025 00026 //: median filter with circular element of supplied radius 00027 vil1_image vepl1_median(vil1_image const& , float radius=1.0); 00028 00029 #endif // vepl1_median_h_