呈现图片

准备一张图片和一个python文件,如下图:

0818b9ca8b590ca3270a3433284dd417.png

python文件中写如下代码:

# -*- coding: utf-8 -*-

"""

Created on Tue Apr 12 10:31:15 2016

@author: zbg

"""

from psychopy.visual import Window, ImageStim, TextStim

from psychopy import core, event, gui

import random

name='1.png'

win = Window()

stim = ImageStim(win, name)

stim.draw()

texture = TextStim(win, text = u'按空格键退出', pos = [0,30], units = 'pix')

texture.draw()

win.flip()

while 'space' not in event.getKeys():

pass

win.close()

运行后可以呈现图片

0818b9ca8b590ca3270a3433284dd417.png

量表评分

编写如下程序可以实现量表评分

# -*- coding: utf-8 -*-

"""

Created on Sun Apr 19 16:50:21 2015

@author: zbg

"""

from psychopy.visual import Window, ImageStim, TextStim

from psychopy import core, event, gui

import random

scales = [

('Meaningful1', u"我能理解这幅画的意义"),

('Meaningful2', u"我能理解这幅画的主题"),

('Unity', u"这幅画的构图是和谐统一的"),

('Complexity', u"这幅画的构图是复杂的"),

('Variety', u"这幅画构图是多样的"),

('Liking', u"我喜欢这幅画"),

('Pleasing', u"这幅画使我感到愉悦"),

('Interesting', u"这幅画能引起我的兴趣。"),

]

def ShowScale(text):

def GetMyKey():

event.clearEvents1('all')

keys=[]

while True:

while len(keys) == 0:

core.wait(0.1)

keys=event.getKeys()

if keys[0] in ['1', '2', '3', '4', '5', '6', '7']:

return keys[0]

keys = []

t =TextStim(win, text ,pos=(0,-0.0))

t.draw()

t =TextStim(win, u'1不同意------------------------------7非常同意',pos=(0,-50), units = 'pix')

t.draw()

win.flip()

key = GetMyKey()

t =TextStim(win, u'你按下了' + key,pos=(0,-0.2),color = (0 ,1.,0))#反馈

t.draw()

win.flip()

core.wait(0.5)

return key

win = Window()

result = {}

for label, text in scales:

key = ShowScale(text)

result[label] = key #把结果储存到字典里,后继可以保存到文件里。

win.close()

print result

把两个程序合在一起可以实现呈现图片,然后用量表评分,这里不做赘述。

0818b9ca8b590ca3270a3433284dd417.png

psychopy自带的量表工具

你也可以使用psychopy自带的量表工具,它支持鼠标选择或者按键数字选择,用回车键确认或者鼠标点击方框确认。以下是示例代码与运行截图:

# -*- coding: utf-8 -*-

"""

Created on Tue Apr 12 10:31:15 2016

@author: zbg

"""

from psychopy import visual,event

win = visual.Window()

rating = visual.RatingScale(win=win, name='rating', marker=u'triangle',

size=1.5, pos=[0.0, -0.4], low=1, high=7, labels=[u'不同意', u'中立', u'完全同意'],

scale=u'你多大程度上赞同希拉里当选美国总统?')

#item =

while rating.noResponse:

#item.draw()

rating.draw()

win.flip()

visual.TextStim(win, text = u"选了%d用了%.3f秒\n按空格退出" % (rating.getRating(), rating.getRT())).draw()

win.flip()

while 'space' not in event.getKeys():

pass

print rating.getRating()

print rating.getRT()

print rating.getHistory()

0818b9ca8b590ca3270a3433284dd417.png

其他

另有一个完整的多种图片与量表评分的示例,完整程序(包括图片等文件)见:http://download.csdn.net/detail/zhanghao9547/8618453 或 http://vdisk.weibo.com/s/uu-WVvhhP2V2a

psychopy 定做实验程序 https://item.taobao.com/item.htm?spm=a230r.1.14.6.Q6E2OW&id=530690095131&ns=1&abbucket=15#detail

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐