def saccEndPoints(dm): """ Analyzes and plots the saccade endpoints. Arguments: dm -- DataMatrix """ i = 1 newFig() l = [["Condition", "Luminance", "SaccDir", "End X (M)", "End X (SD)"]] for cond in ("constant", "swap", "onset"): for saccCol in ("white", "black"): _dm = dm.select('cond == "%s"' % cond).select('saccCol == "%s"' % saccCol) a = (_dm.select('saccSide == "left"')["saccEndX"] - 512) / pxPerDeg l.append([cond, saccCol, "left", a.mean(), a.std()]) a = (_dm.select('saccSide == "right"')["saccEndX"] - 512) / pxPerDeg l.append([cond, saccCol, "right", a.mean(), a.std()]) plt.subplot(3, 2, i) plt.xlim(0, 1024) plt.ylim(0, 768) plt.title("%s - %s" % (cond, saccCol)) plt.axvline(1024 / 2, linestyle=":", color="black") plt.axvline(1024 / 6, linestyle=":", color="black") plt.axvline(1024 - 1024 / 6, linestyle=":", color="black") plt.axhline(768 / 2, linestyle=":", color="black") plt.plot(_dm["saccEndX"], _dm["saccEndY"], ",", color=darkColor) if cond != "onset": plt.xticks([]) else: plt.xticks([0, 512, 1024]) if saccCol != "white": plt.yticks([]) else: plt.yticks([0, 384, 768]) i += 1 dm = DataMatrix(l) dm.sort(["SaccDir"]) dm.save("output/%s/saccEndPoints.csv" % exp) print dm saveFig("endPoints", show=True)
def descriptives(dm): l = [['pp', 'rt', 'resp', 'nchar', 'nfunc', 'chardur', 'funcdur']] for i in dm.range(): sn, full_resp, rt = dm['subject_nr'][i], dm['full_response'][i], \ dm['free_writing_time'][i] resp = dm['free_writing_result'][i].replace('Space', ' ') rt = rt / 1000. - (len(full_resp)+1)*1.185 nchar = len(full_resp) + 1 charDur = rt / (len(full_resp)+1) funcDur = rt / len(resp) nresp = len(resp) print(full_resp) print('%2d\t%s\t%.2f\t%d\t%d\t%.2f\t%.2f' % (sn, resp, rt, nchar, len(resp), charDur, funcDur)) l.append([sn, rt, resp, nchar, len(resp), charDur, funcDur]) dm = DataMatrix(l) dm.sort('pp') print(dm) dm.save('output/sentences.csv')