Pull to refresh

Кратко о PsychoPy

Reading time 3 min
Views 7.9K
Смотрел я как-то софт доступный в центре приложений Ubuntu и наткнулся на штуку под названием «PsychoPy — программа для создания экспериментов по неврологии и эскпериментальной психологии». В строке поиска habrahabr ввёл «PsychoPy» и ничего интересного поиск мне не сказал. Решил погуглить и рассказать заодно сообществу о том, что же эта за штука.

Итак встречайте. PsychoPy.

PsyсhoPy — софт написанный на Python и использующий OpenGL для генерации различных раздражителей на ПК. Программа расчитана для создания экспериментов по неврологии и психологии. Пользователь может создавать различные визуальные и аудиальные раздражители(стимуляторы) и взаимодействовать с внешними устройствами (электроэнцефалография, MEG, image brain activity и прочими интересными девайсами ). Структура скриптов проста и понятна. PsychoPy также позволяет генерировать муви и последовательность изображений которые могут помочь в симуляции эскпериментов по неврологии.

Введение.

Большинство эскпериментов в современной неврологии не проходят без представления аудиальных или визуальных раздражителей, чтобы проследить активность ГМ/изучить влияние раздражителей и тд… Поэтому и был придуман PsychoPy дабы облегчить жизнь при проведении продобного рода эскпериментов. PsychoPy — это мощь языка Python и нескольких кросс-платформенных библиотек для Python. PsyhoPy полностью платформонезависимый и может быть использован на Windows, Mac OS X и Linux.

Особенности:

Язык моделирования — Python.
Hardware Accelerated Graphics (OpenGL)
Платформонезависиммый софт
Модульная структура (для примера стрка импортирует модули для визуальных раздражителей и событий от субъекта эскперимента):

from psychopy import visual, core, event


Встроенный редактор кода (PsychoPyIDE), поддерживающий code-completion, code-folding.

Раздражители:

PathStim — один из наиболее часто используемых. Используется для контроля виузального участка на экране. Может состоять из bitmap-данных, текстур, фотографий. Поддерживает alpha-маски. Ими можно манипулировать в режиме реального времени разными способами: вращать, сдвигать по фазе, менять число циклов и т. д. Ипсользуется для изучения влияния графической информации.

TextStim — текстовые раздражители(приказы, текстовая информация). Поддержка Unicode. Цвет, вращение.

Sound — аудиальные раздражители. Поддерживает файлы mpg, wav, задание звука с помощью ноты и октавы и т. д. Поддержка Stereo.

DotStim — шаблон случайных точек(aka Random Dot Kinematogram) — представляет собой массив точек или массив других раздражителей(например PathStim).

MovieStim — раздражитель видеоряд. Поддержка разных форматов (Mpeg, DivX, avi, Quicktime). Поддерживает трансформацию (вращение, растяжение и т. д.)

PsychoPy предоставляет простой и полный доступ к устройствам ввода/вывода через serial и parallel ports (включая USB serial/parallel emulators)

Ну и напоследок пример скрипта (проигрыватель видеоряда):
from psychopy import core, visual, event
from numpy import ceil   

#устанавливаем окно для мувика
myWin=visual.Window((1000,1000), allowGUI=False)                   
#наш мувик
mov=visual.MovieStim(myWin, 'stimulus_movie.mp4', flipVert=False)  
#выставляем fps
fps=60                                                             
#количество кадров
total_frames=ceil(fps*mov.duration)                                
#movie duration в секундах
print mov.duration                                                 
#высота ширина мувика  
print mov.format.width, mov.format.height                          
#инициализация счётчика
t=0                                                                
#показываем первый кадр
mov.draw()                                                         
#бежим по всем кадрам
while t < total_frames:                                            
	#к следующему кадру
   myWin.flip()                                                    
	#показывае следующий кадр
   mov.draw()                                                      
   #инкремент счётчика
t=t+1          


Полезные ссылки:
Официальный сайт
Generating stimuli for neurosince using PsychoPy by J.W.Peirce
PsyhoPy на Neural Wiki
Tags:
Hubs:
+25
Comments 9
Comments Comments 9

Articles