00001 #ifndef vepl_median_h_ 00002 #define vepl_median_h_ 00003 //: 00004 // \file 00005 // \brief median filter with circular element 00006 // 00007 // vepl_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 7 October 2002 00023 // 00024 // \verbatim 00025 // Modifications 00026 // Peter Vanroose - 20 aug 2003 - changed parameter and return types from vil_image_view_base_sptr to vil_image_resource_sptr 00027 // \endverbatim 00028 00029 #include <vil/vil_image_resource.h> 00030 00031 //: median filter with circular element of supplied radius 00032 vil_image_resource_sptr vepl_median(vil_image_resource_sptr , float radius=1.0); 00033 00034 #endif // vepl_median_h_