diff c/Motion.cpp @ 481:b6ad86ee7033

implemented smoothing (requires latest trajectory management library version)
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 02 Apr 2014 01:45:53 -0400
parents f43bc0b0ba74
children 46b5cb3f3114
line wrap: on
line diff
--- a/c/Motion.cpp	Tue Apr 01 17:42:40 2014 -0400
+++ b/c/Motion.cpp	Wed Apr 02 01:45:53 2014 -0400
@@ -66,7 +66,7 @@
     else
       ratio = displacementDistances[nPositions-3] / displacementDistances[nPositions-2];
 
-    float cosine = scalarProduct((*velocities)[nPositions-3],(*velocities)[nPositions-2]) / (displacementDistances[nPositions-3] * displacementDistances[nPositions-2]);
+    float cosine = (*velocities)[nPositions-3].dot((*velocities)[nPositions-2]) / (displacementDistances[nPositions-3] * displacementDistances[nPositions-2]);
     
     result = (ratio < accelerationBound) & (cosine > deviationBound);
   }
@@ -111,6 +111,11 @@
   displacementDistances.pop_back();
 }
 
+void FeatureTrajectory::movingAverage(const unsigned int& nFramesSmoothing) {
+  positions->movingAverage(nFramesSmoothing);
+  velocities->movingAverage(nFramesSmoothing);
+}
+
 void FeatureTrajectory::write(TrajectoryDBAccess<Point2f>& trajectoryDB, const string& positionsTableName, const string& velocitiesTableName) const {
   trajectoryDB.write(*positions, positionsTableName);
   trajectoryDB.write(*velocities, velocitiesTableName);