comparison include/Motion.hpp @ 180:3a4eef37384f

method to add features and vertices to graph
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 01 Nov 2011 00:12:33 -0400
parents 4f10e97cb677
children 6c48283a78ca
comparison
equal deleted inserted replaced
179:4f10e97cb677 180:3a4eef37384f
86 /** Class to group features: Beymer et al. 99/Saunier and Sayed 06 86 /** Class to group features: Beymer et al. 99/Saunier and Sayed 06
87 \todo create various graph types with different parameters, that accept different feature distances or ways to connect and segment features */ 87 \todo create various graph types with different parameters, that accept different feature distances or ways to connect and segment features */
88 class FeatureGraph { 88 class FeatureGraph {
89 public: 89 public:
90 //FeatureGraph(float _minDistance, float _maxDistance) : minDistance (_minDistance), maxDistance(_maxDistance) {} 90 //FeatureGraph(float _minDistance, float _maxDistance) : minDistance (_minDistance), maxDistance(_maxDistance) {}
91 FeatureGraph(float _connectionDistance, float _segmentationDistance) : connectionDistance (_connectionDistance), segmentationDistance(_segmentationDistance) {} 91 FeatureGraph(float _connectionDistance, float _segmentationDistance, unsigned int _minFeatureTime) : connectionDistance (_connectionDistance), segmentationDistance(_segmentationDistance), minFeatureTime(_minFeatureTime) {}
92 92
93 void addFeature(const FeatureTrajectoryPtr& ft); 93 void addFeature(const FeatureTrajectoryPtr& ft);
94 94
95 // add vertex, includes adding links to current vertices 95 // add vertex, includes adding links to current vertices
96 // find connected components, check if old enough, if so, remove 96 // find connected components, check if old enough, if so, remove
97
98 std::string informationString(void);
97 99
98 protected: 100 protected:
99 struct FeatureConnection { 101 struct FeatureConnection {
100 float minDistance; 102 float minDistance;
101 float maxDistance; 103 float maxDistance;
107 109
108 typedef boost::adjacency_list <boost::listS, boost::listS, boost::undirectedS, VertexInformation, FeatureConnection> UndirectedGraph; 110 typedef boost::adjacency_list <boost::listS, boost::listS, boost::undirectedS, VertexInformation, FeatureConnection> UndirectedGraph;
109 111
110 float connectionDistance; 112 float connectionDistance;
111 float segmentationDistance; 113 float segmentationDistance;
114 unsigned int minFeatureTime;
112 // float minDistance; 115 // float minDistance;
113 // float maxDistance; 116 // float maxDistance;
114 117
115 UndirectedGraph graph; 118 UndirectedGraph graph;
116 119