changeset 187:aa1061fb9695

using minmaxsimilarity
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 01 Dec 2011 18:13:10 -0500
parents 6c48283a78ca
children 1435965d8181
files c/Motion.cpp
diffstat 1 files changed, 5 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/c/Motion.cpp	Tue Nov 29 00:38:50 2011 -0500
+++ b/c/Motion.cpp	Thu Dec 01 18:13:10 2011 -0500
@@ -65,14 +65,12 @@
 }
 
 bool FeatureTrajectory::minMaxSimilarity(const FeatureTrajectory& ft, const int& firstInstant, const int& lastInstant, float connectionDistance, float segmentationDistance) {
-  Point2f diff = positions->getPointAtInstant(firstInstant)-ft.positions->getPointAtInstant(firstInstant);
-  float minDistance = norm(diff);
+  float minDistance = norm(positions->getPointAtInstant(firstInstant)-ft.positions->getPointAtInstant(firstInstant));
   float maxDistance = minDistance;
   bool connected = minDistance <= connectionDistance;
   int t=firstInstant+1;
   while (t <= lastInstant && connected) {
-    diff = positions->getPointAtInstant(t)-ft.positions->getPointAtInstant(t);
-    float distance = norm(diff);
+    float distance = norm(positions->getPointAtInstant(t)-ft.positions->getPointAtInstant(t));
     if (distance < minDistance)
       minDistance = distance;
     else if (distance > maxDistance)
@@ -146,9 +144,9 @@
   for (boost::graph_traits<UndirectedGraph>::vertex_iterator vi = vertices(graph).first; 
        vi!=vertices(graph).second; ++vi) { // vi pointer to vertex_descriptor
     FeatureTrajectoryPtr ft2 = graph[*vi].feature;
-    unsigned int lastInstant = min(ft->getLastInstant(), ft2->getLastInstant());
-    unsigned int firstInstant = max(ft->getLastInstant(), ft2->getLastInstant());
-    if (lastInstant-firstInstant > minFeatureTime) { // equivalent to lastInstant-firstInstant+1 >= minFeatureTime
+    int lastInstant = static_cast<int>(min(ft->getLastInstant(), ft2->getLastInstant()));
+    int firstInstant = static_cast<int>(max(ft->getFirstInstant(), ft2->getFirstInstant()));
+    if (lastInstant-firstInstant > static_cast<int>(minFeatureTime)) { // equivalent to lastInstant-firstInstant+1 >= minFeatureTime
       if (ft->minMaxSimilarity(*ft2, firstInstant, lastInstant, connectionDistance, segmentationDistance)) {
 	UndirectedGraph::edge_descriptor e;
 	bool unused;