51 config->
fi=5.0*(M_PI/180.);
53 config->
beta=60*(M_PI/180.);
117 static bool initialise=
true;
118 static unsigned int max_size=30;
122 memset(acc->
fps,0,max_size*
sizeof(
double));
141 mean_fps+=acc->
fps[i];
150 static struct timeval timestart;
151 struct timeval timenow;
155 gettimeofday(×tart,NULL);
157 }
else if (status==
TOC)
159 gettimeofday(&timenow,NULL);
160 int ret=
timediff(timenow,timestart);
168 return (t1.tv_sec-t2.tv_sec)*1000000+(t1.tv_usec-t2.tv_usec);
172 {
return sqrt((xi-xf)*(xi-xf)+(yi-yf)*(yi-yf));}
175 {
return (xi-xf)*(xi-xf)+(yi-yf)*(yi-yf);}
178 {
return ro-x*cos(alpha)-y*sin(alpha);}
double max_stationary_velocity
double point2line_distance(double alpha, double ro, double x, double y)
Calculates the line to point distance.
double min_moving_velocity
double fps[100]
Accumulator.
unsigned int display_min_lifetime
Minimum lifetime before the object appears (in iterations)
unsigned int position
Position the accumulator.
unsigned int current_size
Current size of accumulator.
int timediff(struct timeval t1, struct timeval t2)
Calculates timediff.
void init_flags(t_flag *flags)
Init flags.
double excluding_dr
Maximum dr that can exist between two consecutive points in any given object, this value is used to c...
double point2point_algebric_distance(double xi, double yi, double xf, double yf)
Calculates the algebric distante between two points.
double point2point_distance(double xi, double yi, double xf, double yf)
Calculates the distante between two points.
void init_config(t_config *config)
Init configuration.
Iterations per second structure.
Auxiliary functions header for the mtt tracking.
double cluster_break_distance
double dt
Time interval between two consecutive iterations.
unsigned int estimation_window_size
This is used to set the size of the error vectors, innovations and residual.
unsigned int velocity_acc_size
double fi
Parameters for the dietmayer clustering.
int my_tictoc(int status)
TIC TOC implementation functions.
double default_ellipse_axis
double overlap_distance
Maximum distance between two object for the to overlap each other.
double get_fps(double dt, t_fps *acc)
int max_missing_iterations
Maximum number of iterations that an object can failure detection.
int overlap_max
Maximum number of iterations that an object can overlap another.
double filter_max_variation
This is used to avoid calculating the mean in the raw data filter when points are to far apart...
This structure contains global configurations parameters.
int data_acc_scans
Number of scans to accumulate.
double point_occlusion_distance
This variable is used when calculating the occluded points, in mm.
This structure contains global flags parameters.
double max_mean_variance
for the iepf
bool fp_s
first point of scan, first image