/home/laradmin/lar/perception/planarobstacles/lidar_segmentation/src/clustering.h File Reference

Clustering related functions header. More...

#include <vector>
#include "geometry_msgs/Point.h"
#include "sensor_msgs/LaserScan.h"
Include dependency graph for clustering.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Cluster

Typedefs

typedef boost::shared_ptr
< Cluster
ClusterPtr
typedef boost::shared_ptr< PointPointPtr

Functions

int abdClustering (vector< PointPtr > &points, double lambda, vector< ClusterPtr > &clusters_ABD)
 Performs Segmentation operation with the Adaptative Breakpoint Detector.
PointPtr calculateClusterCentroid (vector< PointPtr > support_points)
 Calculates the cluster's centroid.
PointPtr calculateClusterMedian (vector< PointPtr > support_points)
 Calculates the cluster's central point.
double cosineDistance (vector< double > &vect1, vector< double > &vect2)
 Calculates the cosine distance between 2 vectors.
double deg2rad (double angle)
 Converts degree values to radian values.
int dietmayerClustering (vector< PointPtr > &points, double C0, vector< ClusterPtr > &clusters_Dietmayer)
 Performs Segmentation operation with the Dietmayer Segmentation Algorithm.
int nnClustering (vector< PointPtr > &points, double threshold, vector< ClusterPtr > &clusters_nn)
 Performs Segmentation operation with the Spacial Nerarest Neighbor Algorithm.
int premebidaClustering (vector< PointPtr > &points, double threshold_prem, vector< ClusterPtr > &clusters_Premebida)
 Performs Segmentation operation with the Multivariable Segmentation Algorithm.
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.
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.
int simpleClustering (vector< PointPtr > &points, double threshold, vector< ClusterPtr > &clusters)
 Performs a Simple Segmentation operation.

Detailed Description

Clustering related functions header.

Author:
Daniel Coimbra

Definition in file clustering.h.


Typedef Documentation

typedef boost::shared_ptr<Cluster> ClusterPtr

Definition at line 70 of file clustering.h.

typedef boost::shared_ptr<Point> PointPtr

Definition at line 42 of file clustering.h.


Function Documentation

int abdClustering ( vector< PointPtr > &  points,
double  lambda,
vector< ClusterPtr > &  clusters_ABD 
)

Performs Segmentation operation with the Adaptative Breakpoint Detector.

Parameters:
points incoming Laser Points
lamda auxiliary parameter
clusters_ABD clusters output vector of clusters, these clusters use the Cluster class
Returns:
Number of clusters resulted from the Adaptative Breakpoint Detector

Definition at line 384 of file clustering.cpp.

PointPtr calculateClusterCentroid ( vector< PointPtr support_points  ) 

Calculates the cluster's centroid.

Parameters:
support_points cluster's support points
Returns:
The coordinates of the cluster's centroid

Definition at line 702 of file clustering.cpp.

PointPtr calculateClusterMedian ( vector< PointPtr support_points  ) 

Calculates the cluster's central point.

Parameters:
support_points cluster's support points
Returns:
The coordinates of the cluster's central point

Definition at line 747 of file clustering.cpp.

double cosineDistance ( vector< double > &  vect1,
vector< double > &  vect2 
)

Calculates the cosine distance between 2 vectors.

Parameters:
vect1 input vector with the range atributes from the fist pair
vect2 input vector with the range atributes from the second pair
Returns:
Cosine distance

Definition at line 665 of file clustering.cpp.

double deg2rad ( double  angle  ) 

Converts degree values to radian values.

Parameters:
angle angle value in degrees
Returns:
angle value in radians

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.

Parameters:
points incoming Laser Points
C0 parameter used for noise reduction
clusters_Dietmayer output vector of clusters, these clusters use the Cluster class
Returns:
Number of clusters resulted from the Dietmayer Segmentation Algorithm

Definition at line 144 of file clustering.cpp.

int nnClustering ( vector< PointPtr > &  points,
double  threshold,
vector< ClusterPtr > &  clusters_nn 
)

Performs Segmentation operation with the Spacial Nerarest Neighbor Algorithm.

Parameters:
points incoming Laser Points
threshold distance value used to break clusters
clusters_nn clusters output vector of clusters, these clusters use the Cluster class
Returns:
Number of clusters resulted from the Spacial Nerarest Neighbor Algorithm

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.

Parameters:
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
Returns:
Number of clusters resulted from the Multivariable Segmentation Algorithm

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.

Parameters:
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
Returns:
Vector of atributes

Definition at line 635 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.

Parameters:
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
Returns:
Number of clusters resulted from the Santos Approach from the Dietmayer Segmentation Algorithm

Definition at line 538 of file clustering.cpp.

int simpleClustering ( vector< PointPtr > &  points,
double  threshold,
vector< ClusterPtr > &  clusters 
)

Performs a Simple Segmentation operation.

Parameters:
points incoming Laser Points
threshold distance value used to break clusters
clusters output vector of clusters, these clusters use the Cluster class
Returns:
Number of clusters resulted from the simple segmentation algorithm

Definition at line 49 of file clustering.cpp.

 All Classes Files Functions Variables Typedefs Defines


lidar_segmentation
Author(s): Daniel
autogenerated on Wed Jul 23 04:34:28 2014