00001 #ifndef vepl1_dilate_disk_h_ 00002 #define vepl1_dilate_disk_h_ 00003 //: 00004 // \file 00005 // \brief morphological dilation with circular element 00006 // 00007 // Dilation is a morphological operation that replaces a pixel with the 00008 // maximum 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 max(DataIn,DataIn) is being used; for 00013 // non-scalar data types (like colour pixels) an appropriate max() 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 // \verbatim 00025 // Modifications 00026 // 12/97 updated by Tboult to use new codegen form and have valid (public 00027 // agreed) ctor and to use preop and postop to define/destroy the mask. 00028 // \endverbatim 00029 00030 #include <vil1/vil1_image.h> 00031 00032 //: morphological dilation with circular element 00033 vil1_image vepl1_dilate_disk(vil1_image const& , float radius); 00034 00035 #endif // vepl1_dilate_disk_h_