Clustering related functions. More...
Go to the source code of this file.
Functions | |
int | abdClustering (vector< PointPtr > &points, double lambda, vector< ClusterPtr > &clusters_ABD) |
Performs Segmentation operation with the Adaptative Breakpoint Detector. More... | |
PointPtr | calculateClusterCentroid (vector< PointPtr > support_points) |
Calculates the cluster's centroid. More... | |
geometry_msgs::Point | calculateClusterCentroid (vector< geometry_msgs::Point > support_points) |
PointPtr | calculateClusterMedian (vector< PointPtr > support_points) |
Calculates the cluster's central point. More... | |
geometry_msgs::Point | calculateClusterMedian (vector< geometry_msgs::Point > support_points) |
double | cosineDistance (vector< double > &vect1, vector< double > &vect2) |
Calculates the cosine distance between 2 vectors. More... | |
double | deg2rad (double angle) |
Converts degree values to radian values. More... | |
int | dietmayerClustering (vector< PointPtr > &points, double C0, vector< ClusterPtr > &clusters_Dietmayer) |
Performs Segmentation operation with the Dietmayer Segmentation Algorithm. More... | |
double | euclideanDistance (geometry_msgs::Point &point1, geometry_msgs::Point &point2) |
int | nnClustering (vector< PointPtr > &points, double threshold, vector< ClusterPtr > &clusters_nn) |
Performs Segmentation operation with the Spacial Nerarest Neighbor Algorithm. More... | |
int | premebidaClustering (vector< PointPtr > &points, double threshold_prem, vector< ClusterPtr > &clusters_Premebida) |
Performs Segmentation operation with the Multivariable Segmentation Algorithm. More... | |
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 of laser points. More... | |
void | recursiveClustering (vector< PointPtr > &points, vector< pair< ClusterPtr, bool > > &point_association, double threshold, uint idx) |
Auxiliary function to the nnClustering - Recursive function. More... | |
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. More... | |
int | simpleClustering (vector< PointPtr > &points, double threshold, vector< ClusterPtr > &clusters) |
Performs a Simple Segmentation operation. More... | |
Clustering related functions.
Definition in file clustering.cpp.
int abdClustering | ( | vector< PointPtr > & | points, |
double | lambda, | ||
vector< ClusterPtr > & | clusters_ABD | ||
) |
Performs Segmentation operation with the Adaptative Breakpoint Detector.
points | incoming Laser Points |
lamda | auxiliary parameter |
clusters_ABD | clusters output vector of clusters, these clusters use the Cluster class |
Definition at line 384 of file clustering.cpp.
Calculates the cluster's centroid.
support_points | cluster's support points |
Definition at line 702 of file clustering.cpp.
geometry_msgs::Point calculateClusterCentroid | ( | vector< geometry_msgs::Point > | support_points | ) |
Definition at line 723 of file clustering.cpp.
Calculates the cluster's central point.
support_points | cluster's support points |
Definition at line 747 of file clustering.cpp.
geometry_msgs::Point calculateClusterMedian | ( | vector< geometry_msgs::Point > | support_points | ) |
Definition at line 782 of file clustering.cpp.
double cosineDistance | ( | vector< double > & | vect1, |
vector< double > & | vect2 | ||
) |
Calculates the cosine distance between 2 vectors.
vect1 | input vector with the range atributes from the fist pair |
vect2 | input vector with the range atributes from the second pair |
Definition at line 665 of file clustering.cpp.
double deg2rad | ( | double | angle | ) |
Converts degree values to radian values.
angle | angle value in degrees |
Definition at line 687 of file clustering.cpp.
int dietmayerClustering | ( | vector< PointPtr > & | points, |
double | C0, | ||
vector< ClusterPtr > & | clusters_Dietmayer | ||
) |
Performs Segmentation operation with the Dietmayer Segmentation Algorithm.
points | incoming Laser Points |
C0 | parameter used for noise reduction |
clusters_Dietmayer | output vector of clusters, these clusters use the Cluster class |
Definition at line 144 of file clustering.cpp.
double euclideanDistance | ( | geometry_msgs::Point & | point1, |
geometry_msgs::Point & | point2 | ||
) |
Definition at line 692 of file clustering.cpp.
int nnClustering | ( | vector< PointPtr > & | points, |
double | threshold, | ||
vector< ClusterPtr > & | clusters_nn | ||
) |
Performs Segmentation operation with the Spacial Nerarest Neighbor Algorithm.
points | incoming Laser Points |
threshold | distance value used to break clusters |
clusters_nn | clusters output vector of clusters, these clusters use the Cluster class |
Definition at line 468 of file clustering.cpp.
int premebidaClustering | ( | vector< PointPtr > & | points, |
double | threshold_prem, | ||
vector< ClusterPtr > & | clusters_Premebida | ||
) |
Performs Segmentation operation with the Multivariable Segmentation Algorithm.
points | incoming Laser Points |
threshold_prem | cosine distance value used to break clusters |
clusters_Premebida | clusters output vector of clusters, these clusters use the Cluster class |
Definition at line 239 of file clustering.cpp.
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 of laser points.
range1 | range value of the the first point |
range2 | range value of the the second point |
range1cart | cartesian value of the first point |
range2cart | cartesian value of the second point |
Definition at line 635 of file clustering.cpp.
void recursiveClustering | ( | vector< PointPtr > & | points, |
vector< pair< ClusterPtr, bool > > & | point_association, | ||
double | threshold, | ||
uint | idx | ||
) |
Auxiliary function to the nnClustering - Recursive function.
points | incoming Laser Points |
point_association | pair with the output vector of clusters and its state of association |
threshold | distance value used to break clusters |
idx | index of the scan point |
Definition at line 819 of file clustering.cpp.
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.
points | incoming Laser Points |
C0 | parameter used for noise reduction |
beta | parameter aiming to reduce the dependence of the segmentation with respect to the distance between the LRF and the objects |
clusters_Santos | clusters output vector of clusters, these clusters use the Cluster class |
Definition at line 538 of file clustering.cpp.
int simpleClustering | ( | vector< PointPtr > & | points, |
double | threshold, | ||
vector< ClusterPtr > & | clusters | ||
) |
Performs a Simple Segmentation operation.
points | incoming Laser Points |
threshold | distance value used to break clusters |
clusters | output vector of clusters, these clusters use the Cluster class |
Definition at line 49 of file clustering.cpp.