【问题标题】:Displaying different types of stimuli within a trial - PsychoPy Coding在试验中显示不同类型的刺激 - PsychoPy Coding
【发布时间】:2020-06-12 12:16:32
【问题描述】:

我遇到了一个我不知道如何解决的问题。我用刺激块创建了不同的试验。每个块由显示的单词或正在播放的音频文件组成。为了保持主题的注意力,我必须结合图像或单词的目标项目。到目前为止,我设法用目标替换了块的随机刺激,但我不知道如何显示目标项目。 为了进一步解释这个问题: 我正在创建随机的刺激列表,并且每个列表的一个刺激有 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】:

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

    if trial_type == 'text':
        your_text_stimulus.text = trial_value # e.g. 'Hello!'
        your_text_stimulus.draw()
    elif trial_type == 'picture':
        your_image_stimulus.image = 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的支持论坛

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      相关资源
      最近更新 更多