def generateGazeFrames(eyetrackList, dirname="./gaze_frames/", granularity=250): # TODO: Check for a final "/" in the dirname, and add if necessary # TODO: Enforce "/gaze_frames/" directory if (not os.path.isdir(dirname)): os.mkdir(dirname) # generate gaze frames maxTime = 0 time = 0 i = 0 contentID = eyetrackList[0]["ContentID"] for eyetrack in eyetrackList: if maxTime < eyetrack["Time"]: maxTime = eyetrack["Time"] while time <= maxTime: eyetrackSegment = Task1.refineTimeframe(eyetrackList, (time, time + granularity)) # print(time) # pprint(eyetrackSegment) if len(eyetrackSegment) > 0: path = dirname + contentID + "-" + str(i) + ".png" Task1.makeMap(eyetrackSegment, path) elif time == 0: # Create a blank image img = Image.new("RGBA", (eyetrackList[0]["OriginWidth"], eyetrackList[0]["OriginHeight"]), (0, 0, 0, 0)) img.save(dirname + contentID + "-" + str(i) + ".png", "PNG") else: # use the last image. print "Skipping segment", time, "-", time + granularity shutil.copyfile(dirname + contentID + "-" + str(i - 1) + ".png", dirname + contentID + "-" + str(i) + ".png") time += granularity i += 1