diff scripts/learn-motion-patterns.py @ 844:5a68779d7777

added capability to save prototypes
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 14 Jul 2016 00:34:59 -0400
parents 5dc7a507353e
children 0cb69238e6f5
line wrap: on
line diff
--- a/scripts/learn-motion-patterns.py	Wed Jul 13 23:45:47 2016 -0400
+++ b/scripts/learn-motion-patterns.py	Thu Jul 14 00:34:59 2016 -0400
@@ -50,13 +50,16 @@
 
 prototypeIndices, labels = ml.prototypeCluster(trajectories, similarities, args.minSimilarity, lambda x,y : lcss.computeNormalized(x, y), args.minClusterSize, args.randomInitialization) # this line can be called again without reinitializing similarities
 
-print(ml.computeClusterSizes(labels, prototypeIndices, -1))
+clusterSizes = ml.computeClusterSizes(labels, prototypeIndices, -1)
+print(clusterSizes)
+
+storage.savePrototypesToSqlite(args.databaseFilename, [objects[i].getNum() for i in prototypeIndices], args.trajectoryType, {objects[i].getNum():clusterSizes[i] for i in prototypeIndices})
 
 if args.saveSimilarities:
-    np.savetxt(utils.removeExtension(args.databaseFilename)+'-prototype-similarities.txt.gz', similarities, '%.4')
+    np.savetxt(utils.removeExtension(args.databaseFilename)+'-prototype-similarities.txt.gz', similarities, '%.4f')
 
 if args.display:
-    from matplotlib.pyplot import figure, show
+    from matplotlib.pyplot import figure, show, axis
     figure()
     for i,o in enumerate(objects):
         if i not in prototypeIndices:
@@ -66,6 +69,7 @@
                 o.plot(utils.colors[labels[i]])
     for i in prototypeIndices:
             objects[i].plot(utils.colors[i]+'o')
+    axis('equal')
     show()
 
 # TODO store the prototypes trajectories, add option so store similarities (the most expensive stuff) with limited accuracy