00001 #ifndef vil_cartesian_differential_invariants_h_ 00002 #define vil_cartesian_differential_invariants_h_ 00003 //: 00004 // \file 00005 // \brief Find Cartesian differential Invariants 00006 // \author Ian Scott 00007 00008 #include <vil/vil_fwd.h> 00009 00010 //: Compute up to 3rd order C.d.i. of an image. 00011 // Finds the first 8 Cartesian differential invariants of an image. That is 00012 // 1x1st order, 3x2nd order and 4x3rd order. 00013 // The results are returned in 8 adjacent planes (for each input plane) 00014 // The results are unscaled. If the range of your input is $r$, 00015 // you can normalise the results by dividing the planes by 00016 // $r, r^{-1}, r^{-1}, r^{-1}, r^{-2}, r^{-2}, r^{-2}, r^{-2}$ 00017 // 00018 // See Romeny et al. Proc.IPMI1993, pp77-93. and 00019 // Walker et al. Proc.BMVC1997 pp541-549. 00020 // \param max_kernel_width. Set this value (to an odd number) 00021 // if you want to restrict the size of the kernel. 0 will 00022 // let the function choose an appropriate kernel size for the \p scale. 00023 // 00024 // \relatesalso vil_image_view 00025 template <class S, class T> 00026 void vil_cartesian_differential_invariants_3(const vil_image_view<S>& src, 00027 vil_image_view<T>& dest, double scale, 00028 unsigned max_kernel_width =0); 00029 00030 #endif // vil_cartesian_differential_invariants_h_