PsychoPy文字刺激、图片刺激和光栅刺激

这篇主要介绍三种刺激:文字刺激、图片刺激、位图刺激

文字刺激

1.打开Coder视图

如下图在Coder编辑器中,编写代码。

# -*- coding: utf-8 -*-
#导入工具包
from psychopy import visual, core

# 创建刺激呈现窗口,该窗口就是所有刺激的展示舞台
win = visual.Window(size = (400,300), color = (-1,-1,-1),
fullscr = False )

"""
创建两个文本刺激
分别为text1和text2
"""
text1 = visual.TextStim(win, text = u'你好心理学!',
                    height = 0.1,
                    pos = (0.0,0.4),
                    color = 'pink',
                    bold = True,
                    italic = True)

text2 = visual.TextStim(win, text = u'',
                        height = 0.1,
                        pos = (0.0,0.7),
                        color = 'violet',
                        bold = True,
                        italic = False)
text2.text = u'心理学!'
"""
draw()方法可以把文本绘制到缓存
"""
text1.draw()
text2.draw()
#调用win的flip()方法,将所有缓存区的刺激效果展现到舞台
win.flip()
"""
等待5秒,舞台显示可以持续5s
"""
core.wait(5)
win.close()

 

图片刺激

 

# -*- coding: utf-8 -*-
#导入工具包
from psychopy.visual import Window, ImageStim, TextStim
from psychopy import event
import random
 
#创建窗口
win = Window()
"""
设置图片参数,
image:设置图片路径,图片名[注意后缀]
"""
pic = ImageStim(win,image='example.png')
#向缓冲区里绘制图片
pic.draw()
"""
创建1个文本刺激
为text1
"""
text1 = TextStim(win, text = u'按空格退出',
                color = 'blue', 
                pos = [0,30], units = 'pix')

#向缓冲区里绘制文本
text1.draw()
#调用win的flip()方法,将所有缓存区的刺激效果展现到舞台
win.flip()
 
while 'space' not in event.getKeys():
    pass
win.close()

 

如上面的结果提示,通过按空格键退出窗口舞台。

光栅刺激

 

 

# -*- coding: utf-8 -*-
#导入工具包
import numpy
from psychopy.visual import Window, GratingStim
from psychopy.core import wait
#设置窗口大小
DISPSIZE = (600, 600)
"""
创建窗口,
设置窗口单位pix,
设置窗口显示为非全屏

"""
disp = Window(size=DISPSIZE, units='pix', fullscr=False)
"""
GratingStim用于绘制任意位图的光栅刺激对象,该位图可以在任意维度重复(循环)
tex 设置光栅纹理作为刺激对象
mask 设置蒙版
sf 设置光栅纹理的空间频率
size 设置刺激单位的大小(宽度,高度)
"""
gabor = GratingStim(disp, tex='sin', mask='gauss', sf=0.05, size=200)
#生成噪声
noise = (numpy.random.rand(64, 64)*2)-1
noisepatch = GratingStim(disp, tex=noise, mask='gauss',size=200)
#将刺激对象绘制到缓冲区
gabor.draw()
#将所有缓存区的刺激效果展现到舞台
disp.flip()
wait(3)

noisepatch.draw()
disp.flip()
wait(5)
disp.close()

  

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值