core/vil/algo/vil_cartesian_differential_invariants.h
Go to the documentation of this file.
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_