如何从psychopy的iohub动态重命名hdf5文件

时间:2015-04-22 07:48:07

标签: python yaml psychopy

我使用了Psychopy 1.82.01编码器及其iohub功能(在Ubuntu 14.04 LTS上)。它工作,但我想知道是否有一种方法可以动态重命名它在实验过程中产生的hdf5文件(这样,最后,我知道它属于哪个参与者,两个参与者将获得两个文件,而不会覆盖其中一个) 。 在我看来,文件名是在这个文件中确定的:https://github.com/psychopy/psychopy/blob/df68d434973817f92e5df78786da313b35322ae8/psychopy/iohub/default_config.yaml 但有没有办法动态地改变它?

1 个答案:

答案 0 :(得分:2)

如果要为每个实验运行创建不同的hdf5文件,则选项取决于您启动ioHub过程的方式。假设您使用psychopy.iohub.launchHubServer()函数启动ioHub,那么您可以传递' experiment_code' kwarg到函数,将用作hdf5文件名。

例如,如果您使用以下代码创建了一个脚本并运行它:

import psychopy.iohub as iohub

io = iohub.launchHubServer(experiment_code="exp_sess_1")

# your experiment code here ....
# ...

io.quit()

名为' exp_sess_1.hdf5'的ioHub hdf5文件将在与脚本文件相同的文件夹中创建。

作为旁注,您不必将每个实验会话数据保存到单独的hdf5文件中。 ioHub hdf5文件结构旨在将多个参与者/会话数据保存在单个文件中。每次运行实验时,都需要一个唯一的会话代码,每次运行的数据都保存在hdf5文件中,其会话ID与会话代码相关联。