Go to the documentation of this file.00001 #ifndef droid_h_
00002 #define droid_h_
00003
00004
00005
00006
00007
00008 #include <osl/osl_roi_window.h>
00009 #include <vil1/vil1_memory_image_of.h>
00010 #include <vxl_config.h>
00011
00012 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 ,
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_