132 int hsm_rho2index(hsm_buffer b,
double rho,
int *rho_index,
double *alpha);
138 void hsm_find_peaks_circ(
int n,
const double*f,
double min_angle_deg,
int unidir,
int max_peaks,
139 int*peaks,
int* npeaks) ;
142 int*peaks,
int* npeaks);
148 int i,
int i_choice[]) ;
void hsm_compute_ht_point(hsm_buffer, double x, double y, double weight)
void qsort_descending(int *indexes, size_t nmemb, const double *values)
int compare_descending(const void *index_pt1, const void *index_pt2)
void hsm_match(struct hsm_params *p, hsm_buffer b1, hsm_buffer b2)
int num_angular_hypotheses
void hsm_buffer_free(hsm_buffer)
void hsm_circular_cross_corr_stupid(int n, const double *a, const double *b, double *res)
int hsm_rho2index(hsm_buffer b, double rho, int *rho_index, double *alpha)
double angular_cell_size_deg
void hsm_compute_spectrum(hsm_buffer)
void hsm_linear_cross_corr_stupid(int na, const double *a, int nb, const double *b, double *res, int *lags, int min_lag, int max_lag)
void hsm_find_peaks_linear(int n, const double *f, double min_dist, int max_peaks, int *peaks, int *npeaks)
double linear_xc_peaks_min_distance
void hsm_find_peaks_circ(int n, const double *f, double min_angle_deg, int unidir, int max_peaks, int *peaks, int *npeaks)
void hsm_find_local_maxima_circ(int n, const double *f, int *maxima, int *nmaxima)
void hsm_compute_ht_base(hsm_buffer, const double base_pose[3])
void hsm_find_local_maxima_linear(int n, const double *f, int *maxima, int *nmaxima)
double xc_directions_min_distance_deg
struct hsm_buffer_struct * hsm_buffer
hsm_buffer hsm_buffer_alloc(struct hsm_params *)
int hsm_is_angle_between_smaller_than_deg(double angle1, double angle2, double threshold_deg)
void hsm_generate_combinations(int nslots, const int possible_choices[], int i, int i_choice[])
void hsm_compute_spectrum_norm(hsm_buffer b)
int pos_mod(int a, int b)
double angular_hyp_min_distance_deg