icp.h
Go to the documentation of this file.
00001 #ifndef _H_ICP_
00002 #define _H_ICP_
00003 
00004 #include <gpc/gpc.h>
00005 #include "../csm_all.h"
00006 
00007 
00009 void sm_icp(struct sm_params*params, struct sm_result*res);
00010 
00011 void sm_icp_xy(struct sm_params*params, struct sm_result*res);
00012 
00014 int icp_loop(struct sm_params*params, const double*q0, double*x_new, 
00015         double*total_error, int*nvalid, int*iterations);
00016 
00019 int compute_next_estimate(struct sm_params*params,
00020         const double x_old[3], double x_new[3]);
00021 
00026 int termination_criterion(struct sm_params*params, const double*delta);
00027 
00029 void find_correspondences(struct sm_params*params);
00031 void find_correspondences_tricks(struct sm_params*params);
00034         void debug_correspondences(struct sm_params * params);
00035 
00036 void kill_outliers_trim(struct sm_params*params, double*total_error);
00037 void kill_outliers_double(struct sm_params*params);
00038         
00039 void compute_covariance_exact(
00040         LDP laser_ref, LDP laser_sens, const gsl_vector*x,
00041                 val *cov0_x, val *dx_dy1, val *dx_dy2);
00042 
00043 void visibilityTest(LDP ld, const gsl_vector*x_old);
00044 
00046 void ld_invalid_if_outside(LDP ld, double min_reading, double max_reading);
00047 
00048 void swap_double(double*a,double*b);
00049 
00050 #endif


csm
Author(s): Andrea Censi
autogenerated on Mon Jan 16 2017 03:48:29