#if defined(__cplusplus)
extern "C" { 
#endif

#include "motion_field.h"
  
  int est_and_track_egomotion(vec_field *v_field, 
			      float *foe_x,float *foe_y,
			      float *foe_x_robust,float *foe_y_robust,
			      float *foe_x_kal, float *foe_y_kal,
			      float *Omx_est, 
			      float *Omy_est, 
			      float *Omz_est,
			      float *Omx_robust, 
			      float *Omy_robust, 
			      float *Omz_robust,
			      float *Omx_est_kal, 
			      float *Omy_est_kal, 
			      float *Omz_est_kal,
			      int reset_kal);
  
  void sum_it_now(vec_field *field_t1,//t1
		  vec_field *field_t2,//t2
		  int x0,int y0,int x1,int y1,
		  float  *u, float *v, 
		  float *sum_xv, float *sum_yu);
  
  vec_field *derotate(vec_field *field, 
		      int x0, int y0, int x1, int y1,
		      float Tx, float Ty, float Tz,float Z,
		      float Omx, float Omy, float Omz);
  
#if defined(__cplusplus)
}
#endif
