Beispiel #1
0
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')