/home/laradmin/lar/perception/planarobstacles/mtt/include/mtt/mtt_clustering.h File Reference

Clustering related functions header. More...

#include "mtt.h"
Include dependency graph for mtt_clustering.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void _p (const char *text)
void calc_cluster_props (vector< t_clustersPtr > &clusters, t_data &data)
void calc_cluster_props (t_cluster **clusters, int size, t_data *data, t_config *config)
 Calculates cluster properties.
void calc_object_props (vector< t_objectPtr > &objects)
 Computes object properties, such as centroid and size.
void clean_objets (vector< t_objectPtr > &objects)
 Frees memory associated with objects.
bool clustering (t_data &data, vector< t_clustersPtr > &clustersPtr, t_config *config, t_flag *flags)
t_cluster ** clustering (t_data *data, int *count, t_config *config, t_flag *flags)
 Performs clustering operation.
double ClusteringThreshold (double r1, double t1, double r2, double t2, t_config *config)
bool clusters2objects (vector< t_objectPtr > &objectsPtr, vector< t_clustersPtr > &clusters, t_data &data, t_config &config)
 Converts clusters of points into objects using recursive line fitting.
double dietmayer_threshold (double r, t_config *config)
 Computes dietmayer clustering threshold.
void FlagCollisionWithOcclusion (t_cluster **clusters, int object_size, t_data *data, t_config *config)
void free_lines (vector< t_objectPtr > &objects)
 Removes lines from memory.
double point2line_distance (double alpha, double ro, double x, double y)
 Calculates the line to point distance.
double point2point_distance (double xi, double yi, double xf, double yf)
 Calculates the distante between two points.
int real2print (double x, t_config *config)
void recursive_IEPF (t_objectPtr &object, t_data &data, int start, int end, t_config &config)
 Recursive iterative end point fit. Single step.
void recursive_line_fitting (t_objectPtr &object, t_cluster &cluster, t_data &data, t_config &config)
 Recursive line fitting, complete process.
void remove_border_points (t_cluster **clusters, int size, int npoints)
 Removes cluster border points.
void remove_small_clusters (t_cluster **clusters, int *size, int threshold)
 Removes clusters based on their size.

Detailed Description

Clustering related functions header.

Definition in file mtt_clustering.h.


Function Documentation

void _p ( const char *  text  ) 
void calc_cluster_props ( vector< t_clustersPtr > &  clusters,
t_data data 
)

Definition at line 331 of file mtt_clustering.cpp.

void calc_cluster_props ( t_cluster **  clusters,
int  size,
t_data data,
t_config config 
)

Calculates cluster properties.

Parameters:
clusters clusters to be drawn
size number of clusters
data general data storage vector
config general config structure
Returns:
void

Definition at line 307 of file mtt_clustering.cpp.

void calc_object_props ( vector< t_objectPtr > &  objects  ) 

Computes object properties, such as centroid and size.

Parameters:
objects list of objects
Returns:
void

Definition at line 378 of file mtt_clustering.cpp.

void clean_objets ( vector< t_objectPtr > &  objects  ) 

Frees memory associated with objects.

Parameters:
objects Input objects
Returns:
void

Definition at line 418 of file mtt_clustering.cpp.

bool clustering ( t_data data,
vector< t_clustersPtr > &  clustersPtr,
t_config config,
t_flag flags 
)

Definition at line 196 of file mtt_clustering.cpp.

t_cluster** clustering ( t_data data,
int *  count,
t_config config,
t_flag flags 
)

Performs clustering operation.

Parameters:
data general data storage vector
count number of clusters
config general config structure
flags general flags structure
Returns:
clusters

Definition at line 113 of file mtt_clustering.cpp.

double ClusteringThreshold ( double  r1,
double  t1,
double  r2,
double  t2,
t_config config 
)

Definition at line 68 of file mtt_clustering.cpp.

bool clusters2objects ( vector< t_objectPtr > &  objectsPtr,
vector< t_clustersPtr > &  clusters,
t_data data,
t_config config 
)

Converts clusters of points into objects using recursive line fitting.

Parameters:
objectsPtr Output objects
clusters Input clusters
data Data points
config general config structure
Returns:
always true

Definition at line 355 of file mtt_clustering.cpp.

double dietmayer_threshold ( double  r,
t_config config 
)

Computes dietmayer clustering threshold.

Parameters:
r 
config general config structure
Returns:
dietmayer threshold

Definition at line 97 of file mtt_clustering.cpp.

void FlagCollisionWithOcclusion ( t_cluster **  clusters,
int  object_size,
t_data data,
t_config config 
)

Definition at line 34 of file mtt_clustering.cpp.

void free_lines ( vector< t_objectPtr > &  objects  ) 

Removes lines from memory.

Parameters:
objects list of objects
Returns:
void

Definition at line 68 of file line_fitting.cpp.

double point2line_distance ( double  alpha,
double  ro,
double  x,
double  y 
)

Calculates the line to point distance.

Parameters:
alpha polar coordinates of the line
ro polar coordinates of the line
x cartesian coordinates of the point
y 
Returns:
algebric distance

Definition at line 65 of file line_fitting.cpp.

double point2point_distance ( double  xi,
double  yi,
double  xf,
double  yf 
)

Calculates the distante between two points.

Parameters:
xi 
yi 
xf 
yf 
Returns:
distance

Definition at line 62 of file line_fitting.cpp.

int real2print ( double  x,
t_config config 
)
void recursive_IEPF ( t_objectPtr object,
t_data data,
int  start,
int  end,
t_config config 
)

Recursive iterative end point fit. Single step.

Parameters:
object single object
data data points
start start point
end end point
config general config structure
Returns:
void

This functions malloc a line to work with, each time it mallocs a line it increments the number of lines object data

Definition at line 423 of file mtt_clustering.cpp.

void recursive_line_fitting ( t_objectPtr object,
t_cluster cluster,
t_data data,
t_config config 
)

Recursive line fitting, complete process.

Parameters:
object single object
cluster single cluster
data data points
config general config structure
Returns:
void

Definition at line 482 of file mtt_clustering.cpp.

void remove_border_points ( t_cluster **  clusters,
int  size,
int  npoints 
)

Removes cluster border points.

Parameters:
clusters clusters to be drawn
size number of clusters
npoints number of points to be removed
Returns:
void

Definition at line 291 of file mtt_clustering.cpp.

void remove_small_clusters ( t_cluster **  clusters,
int *  size,
int  threshold 
)

Removes clusters based on their size.

Parameters:
clusters clusters to be drawn
size number of clusters
threshold number of points a cluster must have not to be deleted
Returns:
void

Definition at line 270 of file mtt_clustering.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


mtt
Author(s): Jorge Almeida
autogenerated on Wed Jul 23 04:34:57 2014