contrib/brl/bseg/vpro/vpro_motion_process.h
Go to the documentation of this file.
00001 // This is brl/bseg/vpro/vpro_motion_process.h
00002 #ifndef vpro_motion_process_h_
00003 #define vpro_motion_process_h_
00004 //--------------------------------------------------------------------------------
00005 //:
00006 // \file
00007 // \brief detects linear motion
00008 // \author J.L. Mundy
00009 //
00010 // \verbatim
00011 //  Modifications
00012 //   J.L. Mundy - February 16, 2003 - Initial version.
00013 // \endverbatim
00014 //-----------------------------------------------------------------------------
00015 #include <vcl_vector.h>
00016 #include <vpro/vpro_motion_params.h>
00017 #include <vpro/vpro_video_process.h>
00018 
00019 class vpro_motion_process: public vpro_video_process, public vpro_motion_params
00020 {
00021  public:
00022   enum state_symbol {NO_IMAGE=0, FIRST_IMAGE, IN_PROCESS};
00023   vpro_motion_process(vpro_motion_params& vmp);
00024   ~vpro_motion_process();
00025   virtual process_data_type get_output_type() const { return IMAGE; }
00026   //: compute motion
00027   virtual bool execute();
00028   virtual bool finish();
00029  private:
00030   //local methods
00031   vpro_motion_process();//prevent default constructor
00032   void compute_motion(vil1_image ix, vil1_image iy);
00033   void update_queue(vil1_image ix, vil1_image iy);
00034   //members
00035   state_symbol state_;
00036   bool first_frame_;
00037   vcl_vector<vil1_image > queuex_;
00038   vcl_vector<vil1_image > queuey_;
00039 };
00040 
00041 #endif // vpro_motion_process_h_