00001 // This is brl/bseg/strk/strk_region_info.h 00002 #ifndef strk_region_info_h_ 00003 #define strk_region_info_h_ 00004 //--------------------------------------------------------------------- 00005 //: 00006 // \file 00007 // \brief a processor for computing the mutual information between image regions 00008 // 00009 // \author 00010 // J.L. Mundy - March 14, 2003 00011 // 00012 // \verbatim 00013 // Modifications 00014 // <none> 00015 // \endverbatim 00016 // 00017 //------------------------------------------------------------------------- 00018 #include <vgl/algo/vgl_h_matrix_2d.h> 00019 #include <vil1/vil1_image.h> 00020 #include <vil1/vil1_memory_image_of.h> 00021 #include <vtol/vtol_face_2d_sptr.h> 00022 #include <strk/strk_tracking_face_2d_sptr.h> 00023 #include <strk/strk_region_info_params.h> 00024 00025 class strk_region_info : public strk_region_info_params 00026 { 00027 public: 00028 00029 //Constructors/destructor 00030 00031 strk_region_info(strk_region_info_params& tp); 00032 ~strk_region_info(); 00033 00034 //Accessors 00035 00036 //unsigned char images for display purposes 00037 vil1_memory_image_of<unsigned char> image_0(); 00038 vil1_memory_image_of<unsigned char> image_i(); 00039 00040 //Mutators 00041 00042 void set_image_0(vil1_image& image); 00043 void set_image_i(vil1_image& image); 00044 void set_face_0(vtol_face_2d_sptr const& face); 00045 void set_face_i(vtol_face_2d_sptr const& face); 00046 void set_background_face(vtol_face_2d_sptr const& face); 00047 //Utility Methods 00048 00049 void init(); 00050 00051 //Debug Methods 00052 00053 //: Evalutate the information at the initial region 00054 void evaluate_info(); 00055 00056 //: Evalutate the information for the background region 00057 void evaluate_background_info(); 00058 00059 //Protected methods 00060 00061 protected: 00062 bool map_i_to_0(vgl_h_matrix_2d<double>& H); 00063 00064 //Members 00065 00066 vil1_memory_image_of<float> image_0_; //!< frame 0 intensity 00067 vil1_memory_image_of<float> image_i_; //!< frame i intensity 00068 vil1_memory_image_of<float> hue_0_; //!< hue of image_0 00069 vil1_memory_image_of<float> sat_0_; //!< saturation of image_0 00070 vil1_memory_image_of<float> hue_i_; //!< hue of image i 00071 vil1_memory_image_of<float> sat_i_; //!< saturation of image_i 00072 vil1_memory_image_of<float> Ix_0_; //!< x derivative of image_0 intensity 00073 vil1_memory_image_of<float> Iy_0_; //!< y derivative of image_0 intensity 00074 vil1_memory_image_of<float> Ix_i_; //!< x derivative of image_i intensity 00075 vil1_memory_image_of<float> Iy_i_; //!< y derivative of image_i intensity 00076 vtol_face_2d_sptr face_0_;//!< initial model 00077 vtol_face_2d_sptr face_i_;//!< observation model 00078 vtol_face_2d_sptr background_face_; 00079 strk_tracking_face_2d_sptr info_face_; 00080 }; 00081 00082 #endif // strk_region_info_h_
1.4.4