MHT main implementation. More...
#include <mtt/mht.h>
Go to the source code of this file.
Functions | |
vector < visualization_msgs::Marker > | createClustersMarkers (vector< MeasurementPtr > &clusters) |
Create markers from clusters. | |
void | createObjects (vector< PointPtr > &data, vector< MeasurementPtr > &measurements, double clustering_distance) |
Clustering function. | |
vector < visualization_msgs::Marker > | createTargetMarkers (vector< TargetPtr > &targets) |
Create markers from targets. | |
void | dataHandler (const sensor_msgs::PointCloud2 &msg) |
Handler for the incoming data. | |
void | dataHandlerFromFile_clusters (vector< MeasurementPtr > &clusters) |
void | dataHandlerFromFile_points (vector< PointPtr > &raw_points) |
double | euclideanDistance (PointPtr &p1, PointPtr &p2) |
void * | graphicalThread (void *data) |
Graphical thread. | |
int | main (int argc, char **argv) |
std_msgs::ColorRGBA | makeColor (int id) |
Create a std_msgs color from a hsv color map. | |
std_msgs::ColorRGBA | makeColor (double r, double g, double b, double a) |
Create a std_msgs color from rgba values. | |
visualization_msgs::Marker | makeEllipse (Vector2d mean, Matrix2d covariance, double threshold, string ns, std_msgs::ColorRGBA color, int id, geometry_msgs::Point position) |
geometry_msgs::Point | makePoint (double x, double y, double z) |
template<class T > | |
visualization_msgs::Marker | makeTrail (vector< T > &past_states, string ns, std_msgs::ColorRGBA color, int id, geometry_msgs::Point position) |
void | pointCloud2ToUnorganizedVector (const sensor_msgs::PointCloud2 &cloud, vector< PointPtr > &data) |
void | pointCloud2ToVector (const sensor_msgs::PointCloud2 &cloud, vector< PointPtr > &data) |
Convert the point cloud data into a laser scan type structure. | |
void | recursiveAssociation (vector< PointPtr > &data, vector< pair< MeasurementPtr, bool > > &point_association, double clustering_distance, uint p) |
Variables | |
string | fileName |
GVGraph * | graph_context |
Graph context pointer, used in the xgtk plug-in. | |
hypothesisTreePtr | htreePtr |
External variable linking to the Mht context class (main workhorse of the mht algorithm). | |
Publisher | markers_publisher |
Mht | mht |
Mht context class (main workhorse of the mht algorithm). | |
string | tracking_frame |
Tracking frame, frame id of the current tracking frame. |
MHT main implementation.
Definition in file mht.cpp.
vector<visualization_msgs::Marker> createClustersMarkers | ( | vector< MeasurementPtr > & | clusters | ) |
Create markers from clusters.
This function creates a set of markers for the current point clusters, this uses the Markers class to keep a up to date list of the current markers.
clusters | vector of Measurement 's classes |
void createObjects | ( | vector< PointPtr > & | data, | |
vector< MeasurementPtr > & | clusters, | |||
double | clustering_distance | |||
) |
Clustering function.
This functions separates the incoming data vector into a set of clusters based on a clustering_distance.
data | input point vector (it is in fact a std::vector<Mht::PointPtr> reference since its safer to work with shared_ptr's. | |
clusters | output vector of clusters, these clusters are treated has measurements and use the Measurement class. | |
clustering_distance | distance value used to break clusters. |
vector<visualization_msgs::Marker> createTargetMarkers | ( | vector< TargetPtr > & | targets | ) |
void dataHandler | ( | const sensor_msgs::PointCloud2 & | msg | ) |
void dataHandlerFromFile_clusters | ( | vector< MeasurementPtr > & | clusters | ) |
void dataHandlerFromFile_points | ( | vector< PointPtr > & | raw_points | ) |
void* graphicalThread | ( | void * | data | ) |
int main | ( | int | argc, | |
char ** | argv | |||
) |
std_msgs::ColorRGBA makeColor | ( | int | id | ) |
std_msgs::ColorRGBA makeColor | ( | double | r, | |
double | g, | |||
double | b, | |||
double | a | |||
) |
visualization_msgs::Marker makeEllipse | ( | Vector2d | mean, | |
Matrix2d | covariance, | |||
double | threshold, | |||
string | ns, | |||
std_msgs::ColorRGBA | color, | |||
int | id, | |||
geometry_msgs::Point | position | |||
) |
geometry_msgs::Point makePoint | ( | double | x, | |
double | y, | |||
double | z | |||
) |
visualization_msgs::Marker makeTrail | ( | vector< T > & | past_states, | |
string | ns, | |||
std_msgs::ColorRGBA | color, | |||
int | id, | |||
geometry_msgs::Point | position | |||
) | [inline] |
void pointCloud2ToUnorganizedVector | ( | const sensor_msgs::PointCloud2 & | cloud, | |
vector< PointPtr > & | data | |||
) |
void pointCloud2ToVector | ( | const sensor_msgs::PointCloud2 & | cloud, | |
vector< PointPtr > & | data | |||
) |
void recursiveAssociation | ( | vector< PointPtr > & | data, | |
vector< pair< MeasurementPtr, bool > > & | point_association, | |||
double | clustering_distance, | |||
uint | p | |||
) |
Publisher markers_publisher |
string tracking_frame |