#include <vector>
#include <cmath>
#include <algorithm>
#include <list>
#include <numeric>
#include <iostream>
#include <gsl/gsl_errno.h>
#include <gsl/gsl_fft_real.h>
#include <gsl/gsl_fft_halfcomplex.h>
#include <gsl/gsl_fft_complex.h>
#include <pm_fourier/angle_shift.h>
#include <lama_common/point.h>
Go to the source code of this file.
Functions | |
static vector< double > | convertPolygonToRange (const vector< Point2 > &polygon) |
double | getDissimilarityCorrelation (const vector< double > &range1, const vector< double > &range2) |
double | getDissimilarityCorrelation (const int n1, const int n2, double *des1, double *des2) |
double | getDissimilarityFourier (const vector< Point2 > &polygon1, const vector< Point2 > &polygon2, const int fftSize) |
double | getDissimilarityNccFft (const vector< double > &fft1, const vector< double > &fft2, const int size) |
double | getSimpleDissimilarityFft (const vector< double > &fft1, const vector< double > &fft2, const int size) |
static vector<double> convertPolygonToRange | ( | const vector< Point2 > & | polygon | ) | [static] |
convert a polygon to a 'range' similar to LaserScan.ranges
First center the polygon, then convert the points to polar coordinates and just ignore the phase part.
Definition at line 59 of file fourier.cpp.
double getDissimilarityCorrelation | ( | const vector< double > & | range1, |
const vector< double > & | range2 | ||
) |
Definition at line 129 of file fourier.cpp.
double getDissimilarityCorrelation | ( | const int | n1, |
const int | n2, | ||
double * | des1, | ||
double * | des2 | ||
) |
Definition at line 142 of file fourier.cpp.
double getDissimilarityFourier | ( | const vector< Point2 > & | polygon1, |
const vector< Point2 > & | polygon2, | ||
const int | fftSize | ||
) |
Definition at line 87 of file fourier.cpp.
double getDissimilarityNccFft | ( | const vector< double > & | fft1, |
const vector< double > & | fft2, | ||
const int | size | ||
) |
Definition at line 157 of file fourier.cpp.
double getSimpleDissimilarityFft | ( | const vector< double > & | fft1, |
const vector< double > & | fft2, | ||
const int | size | ||
) |
Definition at line 18 of file fourier.cpp.