contrib/mul/ipts/ipts_entropy_pyramid.h
Go to the documentation of this file.
00001 // This is mul/ipts/ipts_entropy_pyramid.h
00002 #ifndef ipts_entropy_pyramid_h_
00003 #define ipts_entropy_pyramid_h_
00004 //:
00005 // \file
00006 // \brief Compute local entropy at each level of a scale space pyramid
00007 // \author Tim Cootes
00008 
00009 #include <vimt/vimt_image_2d_of.h>
00010 #include <vimt/vimt_image_pyramid.h>
00011 
00012 //: Compute local entropy at each level of a scale space pyramid
00013 //  Build smooth gaussian pyramid from the image.
00014 //  smooth_pyramid will be of type vxl_byte.  entropy_pyramid is set to be of type float.
00015 //  For each pixel in each image, compute entropy in region (2h+1)x(2h+1)
00016 //  centred on the pixel.
00017 //  Use ipts_scale_space_peaks() to get the position and scale of
00018 //  likely corners
00019 void ipts_entropy_pyramid(const vimt_image_2d_of<vxl_byte>& image,
00020                           vimt_image_pyramid& entropy_pyramid,
00021                           vimt_image_pyramid& smooth_pyramid,
00022                           double scale_step, unsigned half_width);
00023 
00024 //: Compute entropy at each level of a scale space pyramid.
00025 //  smooth_pyramid must be of type vxl_byte.  entropy_pyramid is set to be of type float.
00026 //  For each pixel in each image, compute entropy in region (2h+1)x(2h+1)
00027 //  centred on the pixel.  Only values in range [min_v,max_v] are included
00028 //  in the calculation of entropy.
00029 //  Use ipts_scale_space_peaks() to get the position and scale of likely corners
00030 void ipts_entropy_pyramid(const vimt_image_pyramid& smooth_pyramid,
00031                           vimt_image_pyramid& entropy_pyramid,
00032                           unsigned half_width, int min_v, int max_v);
00033 
00034 #endif // ipts_entropy_pyramid_h_