在试验中显示不同类型的刺激-PsychoPy编码

问题描述 投票:0回答:1

我面临着一个我不知道如何解决的问题。我用刺激块创建了不同的试验。每个块由显示的单词或正在播放的音频文件组成。为了吸引受试者的注意力,我必须结合目标项目,这些目标项目要么是图像,要么是单词。到目前为止,我设法用目标替换了随机刺激的方块,但是我不知道如何显示目标项。为了进一步解释该问题:我正在创建随机刺激列表,并且每个列表有1/3的刺激被目标项目替代。如果目标项目与列表中的项目具有相同的类型,则没有问题。但是,当我尝试在带有单词或音频的块中显示图像时,此方法不起作用。因为列表由特定于列表项类型的代码运行。

这是我与目标列表(包含单词和图像路径的列表)中的随机项目交换刺激列表(在此情况下为单词列表)的项目:

    #randomly swapping an item of the list with a probability of 1/3 
    print(WordV_item) #debug check
    swap= random.choice(prob)
    print(swap) #debug check
    if swap == 1:
        a= list(range(1,len(WordV_item)))
        m= random.choice(a)
        WordV_item[m] = random.choice(Target)
    print(WordV_item) #debug check

之后,我将使用特定的代码运行每个列表,这些代码要么将它们显示为文本在屏幕上,要么将它们播放为音频文件。我需要了解的是列表中是否有必须以不同方式显示的目标项目。我只是不确定如何做到这一点。我当时在想,也许我可以建立一个if条件,该条件检查清单项目是否为目标项目并以不同方式运行它们,以检查何时运行代码,但是我不确定如何使这项工作有效。

非常感谢!我也可以上传我的代码,但是它很长,所以如果问题不清楚,我宁愿尝试更好地解释它。

祝您有美好的一天!

python-3.x list random types psychopy
1个回答
0
投票

这个问题可能过于冗长和不精确,无法给出基于编码的特定答案,但以下只是关于如何处理多种刺激类型的非常一般性的提示。我假设每个试验都有相关的值,这些值指定刺激的类型和用于该刺激的一些值(例如,一些文本,图像文件名或声音文件名):

if trial_type == 'text':
    your_text_stimulus.text = trial_value # e.g. 'Hello!'
    your_text_stimulus.draw()
elif trial_type == 'picture':
    your_image_stimulus. = trial_value # e.g. 'cat.jpg'
    your_image_stimulus.draw()
else: # assume it is audio
    your_sound_stimulus.sound = trial_value # e.g. 'dog.wav'
    your_sound_stimulus.play()

这可能不符合您的实际需求。如果是这样,为了进行更多的来回讨论,也许此场所不是理想的格式,您应该尝试以下支持论坛:https://discourse.psychopy.org

© www.soinside.com 2019 - 2024. All rights reserved.