00001 #ifndef vil_exp_filter_2d_h_ 00002 #define vil_exp_filter_2d_h_ 00003 //: 00004 // \file 00005 // \brief Apply exponential filter in two dimensions 00006 // \author Tim Cootes 00007 00008 #include <vil/algo/vil_exp_filter_1d.h> 00009 00010 //: Apply exponential filter along i and j to src_im to produce dest_im 00011 // Symmetric exponential filter of the form exp(c*|j|) applied. c=log(k) 00012 // Uses fast recursive implementation. 00013 // \relatesalso vil_image_view 00014 template <class srcT, class destT, class accumT> 00015 inline void vil_exp_filter_2d(const vil_image_view<srcT>& src_im, 00016 vil_image_view<destT>& dest_im, 00017 accumT ki, accumT kj) 00018 { 00019 vil_image_view<destT> filtered_im; 00020 vil_exp_filter_i(src_im,filtered_im,ki); 00021 vil_exp_filter_j(filtered_im,dest_im,kj); 00022 } 00023 00024 #endif // vil_exp_filter_2d_h_