contrib/oxl/osl/osl_canny_smooth.h
Go to the documentation of this file.
00001 // This is oxl/osl/osl_canny_smooth.h
00002 #ifndef osl_canny_smooth_h_
00003 #define osl_canny_smooth_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 // .NAME osl_canny_smooth
00008 // .INCLUDE osl/osl_canny_smooth.h
00009 // .FILE osl_canny_smooth.cxx
00010 // .FILE osl_canny_smooth.txx
00011 // \author fsm
00012 
00013 #include <vil1/vil1_image.h>
00014 
00015 #ifdef __SUNPRO_CC
00016 # define unpro_const /*const*/
00017 #else
00018 # define unpro_const const
00019 #endif
00020 
00021 // from (Rothwell) Canny
00022 void osl_canny_smooth_rothwell(vil1_image const &image,
00023                                float const *kernel_, int width_, int k_size_,
00024                                float * const *smooth_);
00025 
00026 template <class T>
00027 void osl_canny_smooth_rothwell(T const *const *in, int xsize_, int ysize_,
00028                                float const *kernel_, int width_, int k_size_,
00029                                float * unpro_const *smooth_);
00030 
00031 void osl_canny_smooth_rothwell_adaptive(vil1_image const &image,
00032                                         int x0, int y0, int image_size,
00033                                         float const *kernel_, int width_, int k_size_,
00034                                         float * const *dx, float * const *dy, float * const *grad);
00035 
00036 template <class T>
00037 void osl_canny_smooth_rothwell_adaptive(T const * const *in, int xsize_, int ysize_,
00038                                         int x0, int y0, int image_size,
00039                                         float const *kernel_, int width_, int k_size_,
00040                                         float * unpro_const *dx, float * unpro_const *dy, float * unpro_const *grad);
00041 
00042 // from CannyOX
00043 void osl_canny_smooth(vil1_image const &in,
00044                       float const *kernel_, int width_, float const *sub_area_OX_,
00045                       float * const * image_out);
00046 
00047 template <class T>
00048 void osl_canny_smooth(T const * const *in, int xsize_, int ysize_,
00049                       float const *kernel_, int width_, float const *sub_area_OX_,
00050                       float * unpro_const * image_out);
00051 
00052 #endif // osl_canny_smooth_h_