diff scripts/learn-motion-patterns.py @ 910:b58a1061a717

loading is faster for longest object features
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 28 Jun 2017 15:36:25 -0400
parents b297525b2cbf
children 89cc05867c4c
line wrap: on
line diff
--- a/scripts/learn-motion-patterns.py	Mon Jun 26 17:45:32 2017 -0400
+++ b/scripts/learn-motion-patterns.py	Wed Jun 28 15:36:25 2017 -0400
@@ -45,14 +45,14 @@
     trajectoryType = 'object'
     prototypeType = 'feature'
 
-#features = storage.loadTrajectoriesFromSqlite(databaseFilename, args.trajectoryType)
-objects = storage.loadTrajectoriesFromSqlite(args.databaseFilename, trajectoryType, withFeatures = (args.trajectoryType == 'objectfeatures'), objectNumbers = args.nTrajectories, timeStep = args.positionSubsamplingRate)
-
 if args.trajectoryType == 'objectfeatures':
-    features = []
-    for o in objects:
-        features += o.getNLongestFeatures(args.maxNObjectFeatures)
-    objects = features
+    objectFeatureNumbers = storage.loadObjectFeatureFrameNumbers(args.databaseFilename, objectNumbers = args.nTrajectories)
+    featureNumbers = []
+    for numbers in objectFeatureNumbers.values():
+        featureNumbers += numbers[:min(len(numbers), args.maxNObjectFeatures)]
+    objects = storage.loadTrajectoriesFromSqlite(args.databaseFilename, 'feature', objectNumbers = featureNumbers, timeStep = args.positionSubsamplingRate)
+else:
+    objects = storage.loadTrajectoriesFromSqlite(args.databaseFilename, trajectoryType, withFeatures = (args.trajectoryType == 'objectfeatures'), objectNumbers = args.nTrajectories, timeStep = args.positionSubsamplingRate)
 
 trajectories = [o.getPositions().asArray().T for o in objects]