#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <assert.h>
#include "../csm_all.h"
#include "hsm.h"
Go to the source code of this file.
Macros | |
#define | MAX_NPEAKS 1024 |
Functions | |
int | compare_descending (const void *index_pt1, const void *index_pt2) |
hsm_buffer | hsm_buffer_alloc (struct hsm_params *p) |
void | hsm_buffer_free (hsm_buffer b) |
void | hsm_circular_cross_corr_stupid (int n, const double *a, const double *b, double *res) |
void | hsm_compute_ht_base (hsm_buffer b, const double base_pose[3]) |
void | hsm_compute_ht_point (hsm_buffer b, double x0, double y0, double weight) |
void | hsm_compute_spectrum (hsm_buffer b) |
void | hsm_compute_spectrum_norm (hsm_buffer b) |
void | hsm_find_local_maxima_circ (int n, const double *f, int *maxima, int *nmaxima) |
void | hsm_find_local_maxima_linear (int n, const double *f, int *maxima, int *nmaxima) |
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_peaks_linear (int n, const double *f, double min_dist, int max_peaks, int *peaks, int *npeaks) |
void | hsm_generate_combinations (int nslots, const int possible_choices[], int i, int i_choice[]) |
int | hsm_is_angle_between_smaller_than_deg (double angle1, double angle2, double threshold_deg) |
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_match (struct hsm_params *p, hsm_buffer b1, hsm_buffer b2) |
int | hsm_rho2index (hsm_buffer b, double rho, int *rho_index, double *alpha) |
double | mdax (double a, double b) |
int | pos_mod (int a, int b) |
void | qsort_descending (int *indexes, size_t nmemb, const double *values) |
Variables | |
const double * | qsort_descending_values = 0 |
#define MAX_NPEAKS 1024 |
int compare_descending | ( | const void * | index_pt1, |
const void * | index_pt2 | ||
) |
hsm_buffer hsm_buffer_alloc | ( | struct hsm_params * | ) |
void hsm_buffer_free | ( | hsm_buffer | ) |
void hsm_circular_cross_corr_stupid | ( | int | n, |
const double * | a, | ||
const double * | b, | ||
double * | res | ||
) |
void hsm_compute_ht_base | ( | hsm_buffer | , |
const double | base_pose[3] | ||
) |
void hsm_compute_ht_point | ( | hsm_buffer | , |
double | x, | ||
double | y, | ||
double | weight | ||
) |
void hsm_compute_spectrum | ( | hsm_buffer | ) |
void hsm_compute_spectrum_norm | ( | hsm_buffer | b | ) |
void hsm_find_local_maxima_circ | ( | int | n, |
const double * | f, | ||
int * | maxima, | ||
int * | nmaxima | ||
) |
void hsm_find_local_maxima_linear | ( | int | n, |
const double * | f, | ||
int * | maxima, | ||
int * | nmaxima | ||
) |
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_peaks_linear | ( | int | n, |
const double * | f, | ||
double | min_dist, | ||
int | max_peaks, | ||
int * | peaks, | ||
int * | npeaks | ||
) |
void hsm_generate_combinations | ( | int | nslots, |
const int | possible_choices[], | ||
int | i, | ||
int | i_choice[] | ||
) |
int hsm_is_angle_between_smaller_than_deg | ( | double | angle1, |
double | angle2, | ||
double | threshold_deg | ||
) |
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_match | ( | struct hsm_params * | p, |
hsm_buffer | b1, | ||
hsm_buffer | b2 | ||
) |
int hsm_rho2index | ( | hsm_buffer | b, |
double | rho, | ||
int * | rho_index, | ||
double * | alpha | ||
) |
void qsort_descending | ( | int * | indexes, |
size_t | nmemb, | ||
const double * | values | ||
) |