comparison scripts/learn-poi.py @ 916:7345f0d51faa

added display of paths
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 04 Jul 2017 17:36:24 -0400
parents 13434f5017dd
children c030f735c594
comparison
equal deleted inserted replaced
915:13434f5017dd 916:7345f0d51faa
15 parser.add_argument('-norigins', dest = 'nOriginClusters', help = 'number of clusters for trajectory origins', required = True, type = int) 15 parser.add_argument('-norigins', dest = 'nOriginClusters', help = 'number of clusters for trajectory origins', required = True, type = int)
16 parser.add_argument('-ndestinations', dest = 'nDestinationClusters', help = 'number of clusters for trajectory destinations (=norigins if not provided)', type = int) 16 parser.add_argument('-ndestinations', dest = 'nDestinationClusters', help = 'number of clusters for trajectory destinations (=norigins if not provided)', type = int)
17 parser.add_argument('--covariance-type', dest = 'covarianceType', help = 'type of covariance of Gaussian model', default = "full") 17 parser.add_argument('--covariance-type', dest = 'covarianceType', help = 'type of covariance of Gaussian model', default = "full")
18 parser.add_argument('-w', dest = 'worldImageFilename', help = 'filename of the world image') 18 parser.add_argument('-w', dest = 'worldImageFilename', help = 'filename of the world image')
19 parser.add_argument('-u', dest = 'unitsPerPixel', help = 'number of units of distance per pixel', type = float, default = 1.) 19 parser.add_argument('-u', dest = 'unitsPerPixel', help = 'number of units of distance per pixel', type = float, default = 1.)
20 parser.add_argument('--display', dest = 'display', help = 'display points of interests', action = 'store_true') # default is manhattan distance 20 parser.add_argument('--display', dest = 'display', help = 'displays points of interests', action = 'store_true') # default is manhattan distance
21 parser.add_argument('--assign', dest = 'assign', help = 'display points of interests', action = 'store_true') 21 parser.add_argument('--assign', dest = 'assign', help = 'assigns the trajectories to the POIs and saves the assignments', action = 'store_true')
22 parser.add_argument('--display-paths', dest = 'displayPaths', help = 'displays all possible origin destination if assignment is done', action = 'store_true')
22 23
23 # TODO test Variational Bayesian Gaussian Mixture BayesianGaussianMixture 24 # TODO test Variational Bayesian Gaussian Mixture BayesianGaussianMixture
24 25
25 args = parser.parse_args() 26 args = parser.parse_args()
26 27
74 o.od[1] = l 75 o.od[1] = l
75 gmmId += 1 76 gmmId += 1
76 77
77 if args.assign: 78 if args.assign:
78 storage.savePOIAssignments(args.databaseFilename, objects) 79 storage.savePOIAssignments(args.databaseFilename, objects)
80 if args.displayPaths:
81 for i in xrange(args.nOriginClusters):
82 for j in xrange(args.nDestinationClusters):
83 odObjects = [o for o in objects if o.od[0] == i and o.od[1] == j]
84 if len(odObjects) > 0:
85 fig = plt.figure()
86 ax = fig.add_subplot(111)
87 ml.plotGMM(models['beginning'].means_[i], models['beginning'].covariances_[i], i, fig, 'b')
88 ml.plotGMM(models['end'].means_[j], models['end'].covariances_[j], j, fig, 'r')
89 for o in odObjects:
90 o.plot(withOrigin = True)
91 plt.title('OD {} to {}'.format(i,j))
92 plt.axis('equal')
93 plt.show()
94
79 95
80 if args.display: 96 if args.display:
81 plt.axis('equal') 97 plt.axis('equal')
82 plt.show() 98 plt.show()