33 #ifndef _COIMBRA_CLUSTERING_H_
34 #define _COIMBRA_CLUSTERING_H_
37 #include "geometry_msgs/Point.h"
38 #include "sensor_msgs/LaserScan.h"
43 typedef boost::shared_ptr<Point>
PointPtr;
82 int simpleClustering(vector<PointPtr>& points,
double threshold, vector<ClusterPtr>& clusters);
92 int dietmayerClustering( vector<PointPtr>& points,
double C0 ,vector<ClusterPtr>& clusters_Dietmayer);
102 int premebidaClustering( vector<PointPtr>& points,
double threshold_prem , vector<ClusterPtr>& clusters_Premebida);
112 int abdClustering( vector<PointPtr>& points ,
double lambda ,vector<ClusterPtr>& clusters_ABD);
122 int nnClustering( vector<PointPtr>& points,
double threshold , vector<ClusterPtr>& clusters_nn);
133 int santosClustering( vector<PointPtr>& points,
double C0,
double beta, vector<ClusterPtr>& clusters_Santos);
154 double cosineDistance(vector<double>& vect1, vector<double>& vect2);
double deg2rad(double angle)
Converts degree values to radian values.
boost::shared_ptr< Point > PointPtr
double cosineDistance(vector< double > &vect1, vector< double > &vect2)
Calculates the cosine distance between 2 vectors.
int abdClustering(vector< PointPtr > &points, double lambda, vector< ClusterPtr > &clusters_ABD)
Performs Segmentation operation with the Adaptative Breakpoint Detector.
boost::shared_ptr< Cluster > ClusterPtr
int nnClustering(vector< PointPtr > &points, double threshold, vector< ClusterPtr > &clusters_nn)
Performs Segmentation operation with the Spacial Nerarest Neighbor Algorithm.
vector< PointPtr > support_points
int simpleClustering(vector< PointPtr > &points, double threshold, vector< ClusterPtr > &clusters)
Performs a Simple Segmentation operation.
vector< double > rangeFeatures(double range1, double range2, PointPtr range1cart, PointPtr range2cart)
A auxiliary function of the premebidaClustering function Calculates the a set of atributes of a pair ...
PointPtr calculateClusterCentroid(vector< PointPtr > support_points)
Calculates the cluster's centroid.
int premebidaClustering(vector< PointPtr > &points, double threshold_prem, vector< ClusterPtr > &clusters_Premebida)
Performs Segmentation operation with the Multivariable Segmentation Algorithm.
int santosClustering(vector< PointPtr > &points, double C0, double beta, vector< ClusterPtr > &clusters_Santos)
Performs Segmentation operation with the Santos Approach from the Dietmayer Segmentation Algorithm...
PointPtr calculateClusterMedian(vector< PointPtr > support_points)
Calculates the cluster's central point.
int dietmayerClustering(vector< PointPtr > &points, double C0, vector< ClusterPtr > &clusters_Dietmayer)
Performs Segmentation operation with the Dietmayer Segmentation Algorithm.