hsm.h File Reference

#include <stdlib.h>
Include dependency graph for hsm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  hsm_buffer_struct
struct  hsm_params


typedef struct hsm_buffer_structhsm_buffer


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)
int pos_mod (int a, int b)
void qsort_descending (int *indexes, size_t nmemb, const double *values)

Typedef Documentation

typedef struct hsm_buffer_struct* hsm_buffer

Definition at line 96 of file hsm.h.

Function Documentation

int compare_descending ( const void *  index_pt1,
const void *  index_pt2 
hsm_buffer hsm_buffer_alloc ( struct hsm_params  ) 

Allocates the buffer structures. Remember to call hsm_buffer_free afterwards

void hsm_buffer_free ( hsm_buffer   ) 

Frees the buffer structure

void hsm_circular_cross_corr_stupid ( int  n,
const double *  a,
const double *  b,
double *  res 

Creates circular cross-correlation in a stupid way

void hsm_compute_ht_base ( hsm_buffer  ,
const double  base_pose[3] 

Private interface This adds a base displacement to the point added by hsm_compute_ht_point

void hsm_compute_ht_point ( hsm_buffer  ,
double  x,
double  y,
double  weight 

Adds a point to the Hough Transform

void hsm_compute_spectrum ( hsm_buffer   ) 

Computes the spectrum in the buffer

void hsm_compute_spectrum_norm ( hsm_buffer  b  ) 
void hsm_find_local_maxima_circ ( int  n,
const double *  f,
int *  maxima,
int *  nmaxima 

Finds the local maxima for a circular function. is a pointer to a struct of size n returns the number of maxima found

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 

Finds the peaks of a circular function of length

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 

Returns true if (rad) and (rad) are closer than (degrees!)

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 

Returns 0 if out of the buffer. rho_index is the closest cell, alpha between -0.5 and 0.5 specifies the distance from the center of the cell.

int pos_mod ( int  a,
int  b 
void qsort_descending ( int *  indexes,
size_t  nmemb,
const double *  values 

Sorts the indexes based on the values

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines

Author(s): Ivan Dryanovski, William Morris
autogenerated on Fri Jan 11 09:15:57 2013