Кратко о PsychoPy

Смотрел я как-то софт доступный в центре приложений 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
  • +25
  • 3,3k
  • 9
Поделиться публикацией

Комментарии 9

    +19
    Нехватает скриншота результата :)
      +3
      Хотелось бы скриншот/видео каждого раздражителя.
      +5
      image
      –1
      В будущем можно будет заставить компьютер нервничать, психовать и закатывать истерики. Да это же находка для жены программиста/админа. :)
        0
        Спасибо за статью. А можно будет к вам обратиться, если понадобиться помощь с написанием скрипта под этой программой?
        Лучше писать нейробиология, а не неврология, так как неврология больше имеет отношение к медицине.
          0
          Ну скажем так… писать я за вас точно ничего не буду;) Но чем смогу — попытаюсь помочь.
            0
            Да, именно советом :)
        • НЛО прилетело и опубликовало эту надпись здесь

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое