contrib/oxl/osl/internals/droid.h
Go to the documentation of this file.
00001 #ifndef droid_h_
00002 #define droid_h_
00003 
00004 // .NAME droid
00005 // .INCLUDE osl/internals/droid.h
00006 // .FILE internals/droid.cxx
00007 
00008 #include <osl/osl_roi_window.h>
00009 #include <vil1/vil1_memory_image_of.h>
00010 #include <vxl_config.h>
00011 
00012 /*namespace*/class droid
00013 {
00014  public:
00015   static
00016   void compute_gradx_grady (osl_roi_window                 *window_str,
00017                             vil1_memory_image_of<vxl_byte> * image_ptr,
00018                             vil1_memory_image_of<int> *image_gradx_ptr,
00019                             vil1_memory_image_of<int> *image_grady_ptr);
00020   static
00021   void compute_fxx_fxy_fyy (osl_roi_window              *window_str,
00022                             vil1_memory_image_of<int>   *image_gradx_ptr,
00023                             vil1_memory_image_of<int>   *image_grady_ptr,
00024                             vil1_memory_image_of<float> *image_fxx_ptr,
00025                             vil1_memory_image_of<float> *image_fxy_ptr,
00026                             vil1_memory_image_of<float> *image_fyy_ptr);
00027   static
00028   float compute_cornerness (osl_roi_window              *window_str,
00029                             vil1_memory_image_of<float> *image_fxx_ptr,
00030                             vil1_memory_image_of<float> *image_fxy_ptr,
00031                             vil1_memory_image_of<float> *image_fyy_ptr,
00032                             float scale,
00033                             vil1_memory_image_of<float> *pixel_cornerness);
00034   static
00035   int find_corner_maxima (float corner_min,
00036                           osl_roi_window              *window_str,
00037                           vil1_memory_image_of<float> *pixel_cornerness,
00038                           vil1_memory_image_of<bool>  *image_corner_max_ptr);
00039   static
00040   int find_local_maxima(float min,int winsize,
00041                         int x1,int y1,
00042                         int x2,int y2,
00043                         vil1_memory_image_of<float>  *bitmap,
00044                         vil1_memory_image_of<bool>   *max_p);
00045   static
00046   float compute_corner_min (float /*corner_min*/,
00047                             float corner_max,
00048                             int corner_count_max,
00049                             osl_roi_window              *window_str,
00050                             vil1_memory_image_of<float> *pixel_cornerness,
00051                             vil1_memory_image_of<bool>  *image_corner_max_ptr);
00052 
00053   static
00054   bool compute_subpixel_max (vil1_memory_image_of<float> *pixel_cornerness,
00055                              int row,
00056                              int col,
00057                              double &x,double &y,
00058                              bool pab_emulate);
00059 };
00060 
00061 #endif // droid_h_