Я использую кодер Psychopy 1.82.01 и его функциональность iohub (в Ubuntu 14.04 LTS). Это работает, но мне было интересно, есть ли способ динамически переименовать файл hdf5, который он создает во время эксперимента (чтобы, в конце концов, я знал, какому участнику он принадлежит, и два участника получат два файла, не перезаписывая один из них) . Мне кажется, что имя файла определяется в этом файле: //github.com/psychopy/psychopy/blob/df68d434973817f92e5df78786da313b35322ae8/psychopy/iohub/default_config.yaml Но есть ли способ изменить это динамически?
Как динамически переименовать файл hdf5 из iohub вPsychopy
Ответы (1)
Если вы хотите создать отдельный файл hdf5 для каждого запуска эксперимента, параметры зависят от того, как вы запускаете процесс ioHub. Предполагая, что вы используете функцию psychopy.iohub.launchHubServer()
для запуска ioHub, вы можете передать kwarg 'experiment_code' в функцию, и он будет использоваться в качестве имени файла hdf5.
Например, если вы создали скрипт со следующим кодом и запустили его:
import psychopy.iohub as iohub
io = iohub.launchHubServer(experiment_code="exp_sess_1")
# your experiment code here ....
# ...
io.quit()
Файл ioHub hdf5 с именем «exp_sess_1.hdf5» будет создан в той же папке, что и файл скрипта.
В качестве примечания: вам не нужно сохранять данные каждого сеанса эксперимента в отдельный файл hdf5. Файловая структура ioHub hdf5 предназначена для сохранения данных нескольких участников/сеансов в одном файле. При каждом запуске эксперимента требуется уникальный код сеанса, а данные каждого запуска сохраняются в файле hdf5 с идентификатором сеанса, связанным с кодом сеанса.