def generateDataPoint1(nP, resampleRate, numIterations, headless): ret = [] m = Map(imagePath, scale=100, sampleResolution=26) d = Drone(m) pf = ParticleFilter(m, d, numParticles=nP, resampleRate=resampleRate) pf.calculateLikelihood() for i in range(numIterations): dp = d.generateRandomMovementVector_map() d.move(dp) pf.fullUpdate(dp) # ret.append(pf.averageParticleDistance(d.pos)) ret.append(pf.numParticlesClusteredAroundGroundTruth(d.pos)) if not headless: m.clearImage() pf.drawParticles() util.drawCircle(m.image, m.positionToPixel(d.pos)) m.show() key = cv.waitKey(0) return ret