Как я могу создавать компьютерные психологические эксперименты с помощью OS X?

Я использовал E-prime для создания компьютерных психологических экспериментов (вы знаете, таких, когда вы, например, показываете участникам несколько картинок и записываете их ответы на них, например нажатия клавиш) для Windows. Однако теперь я хотел бы создать аналогичные эксперименты в OS X.

Если я поищу Google для этого, я найду пару разных хитов, но трудно оценить качество этих программ. Какую хорошую программу использовать для этой цели?

Ответы (11)

Моя исследовательская группа использовала чистый Python для экспериментов по программированию; мы слишком много раз обжигались из-за сбоев и неявного поведения в коробочном программном обеспечении для создания экспериментов, чтобы доверять ему. Переход от интерфейса проектирования экспериментов «укажи и щелкни» к чистому коду требует большого обучения, и вы должны быть осторожны, моделируя свой собственный код на основе хорошо проверенного кода других (особенно для того, чтобы убедиться, что вы правильно реализуете синхронизацию). , что может быть нюансом).

Может показаться заманчивым нанять студентов компьютерных наук для кодирования ваших экспериментов, но есть опасность, что они не сядут за стол с тем же опытом экспериментального проектирования, что и вы, и, как следствие, мы столкнулись с некоторыми ошибками реализации (например, сбой для проверки ввода в течение мертвого времени между предъявлением стимула и т. д.).

Хотя я признаю и действительно поддерживаю стремление к специализации в когнитивной науке, я считаю, что точно так же, как мы требуем, чтобы все исследователи имели небольшой опыт в статистике, мы также должны требовать, чтобы все исследователи имели небольшой опыт в программировании. , не в последнюю очередь потому, что это помогает формировать мышление, поддающееся рассмотрению формальных моделей мышления.

Я свяжу код одного из своих экспериментов, как только добавлю несколько комментариев.
Вот архив одного из моих умеренно хорошо прокомментированных экспериментов: filedropper.com/castforweb .
О, и просто предупреждение: время в этом эксперименте немного неоптимально, поскольку оно использует время в начале пробного цикла для маркировки ответов, найденных во время этой итерации цикла. Теперь, когда я думаю об этом, вероятно, должна быть еще одна строка «now = time.time ()» прямо над строкой «pygame.events.pump ()» на случай задержки во время представления стимула. В конце концов, все это будет устранено, когда я закончу свой побочный проект по обновлению SDL1.2 и pygame для реализации высокоточного таймера SDL1.3/2.0 и временных меток событий...
Еще одно дополнение: код, на который я ссылаюсь, в значительной степени написан в процедурном стиле, а не в стиле ООП. Это потому, что я считаю ООП ненужным для простых вещей, которые я обычно делаю, и считаю, что для проведения полностью экспериментов с ООП требуется немного больше усилий (как кодирование, так и планирование). Хотя, возможно, это просто личная причуда.
Это действительно крутая вещь, вы сделали какой-либо код, который отвечает на этот вопрос , или какие-либо предложения о том, как действовать дальше?
@ArtemKaznatcheev Я сам не проверял вещи эмпирически, но источники, которым я доверяю, сказали мне, что веб-коллекция RT ненадежна. Однако достаточно просто взять скрипт Python и создать отдельное приложение (или исполняемый файл) с помощью py2app (или py2exe), которое ваши участники смогут загрузить.
Я слышал, что загрузки действительно отталкивают людей от учебы :(.
@Mike: Есть ли планы по созданию проекта Python с открытым исходным кодом (направленного на замену e-prime или чего-то подобного) ?? Я программист на Python, имею некоторый опыт экспериментов с отслеживанием движения глаз и был бы рад внести свой вклад в такие усилия.
@AnandJeyahar Вы должны проверить PsychoPy ( Psychopy.org ) и OpenSesame ( cogsci.nl/software/opensesame ) два бесплатных подхода к программному обеспечению, которые вы ищете. Не хватает только хорошей реализации анкет и других простых типов элементов. Но у меня есть несколько идей, основанных на PyQt4 и webkit. Дайте мне знать, если вы заинтересованы в том, чтобы сделать что-то.

Я бы порекомендовал Matlab и Psychophysics Toolbox . Он позволяет отображать все виды стимулов в полноэкранном режиме, а также позволяет фиксировать нажатия клавиш и щелчки мыши.

Просто убедитесь, что вы установили MATLAB R2010a или более раннюю версию. R2010b и более поздние версии MATLAB являются только 64-разрядными, а PsychToolbox — только 32-разрядными.
@Solus: какая платформа? 32-разрядная версия Windows по-прежнему поддерживается в последней версии.
OS X (комментарий предназначался для Speldosa, но также и для всех, кто хочет использовать PsychToolbox в OS X. Просто нужно знать, что это не преграда [например, вы можете установить несколько экземпляров Matlab или просто установить последнюю 64-битную версию и используйте 32-битную версию Octave для запуска сценариев PsychToolbox]).

OpenSesame — это недавняя запись, которая является кроссплатформенной и, похоже, продвигает дизайн на основе графического интерфейса, позволяя настраивать его с помощью сценариев Python.

Его можно найти на их сайте (ссылка выше). В недавней статье есть ссылки и краткое описание 16 других инструментов (включая некоторые из них, о которых сообщалось в других ответах stackexchange). Я нашел отличные видеоуроки и интерфейс, который был дружелюбным и простым в использовании.

Кажется, он еще не предоставляет встроенные способы сетевых экспериментов (например, для экспериментов с ярмом или многотемных игр), но я подозреваю, что вы могли бы добавить это с помощью пользовательского сценария Python. Я обнаружил, что для простого представления стимулов и отслеживания реакции это работает отлично и позволяет быстро развиваться. Я написал эксперимент на своей машине с Linux и без проблем развернул его для предметного тестирования на машинах с Windows.

Добро пожаловать на сайт! Можно ли расширить свой ответ, чтобы перечислить названия 16 других инструментов, кратко изложенных в статье? Для тех, кто не за платным доступом.
Я согласен, OpenSesame великолепен!

Я использую Adobe Flash. Моя коллега Яна Вайнштейн написала книгу о Flash-программировании для социальных и поведенческих наук, которая должна выйти в следующем месяце. Я участник и помог написать некоторые из них! Проверьте это, нажав здесь.

Я автор книги о Flash, упомянутой Энди ДеСото. Я обнаружил, что Flash очень прост и надежен для онлайн-сбора данных.

Другой вариант — программировать на C/C++ с помощью библиотеки Tscope . Если у вас нет опыта программирования, поначалу это будет немного сложно, но я бы сказал, что в конце концов это окупается.

Tscope — это экспериментальная библиотека программирования C/C++ для ученых-когнитивистов. Он распространяется под лицензией Gnu Public License и предназначен для работы на платформах Windows 2000 и XP. Он предоставляет функции для графики, звука, синхронизации, рандомизации и регистрации ответов. Также доступны ограниченные версии для Linux и Mac OS X.

На вводной странице представлен более широкий обзор функций .

Обычно предпочитают не просто ссылаться на ресурс, но и давать некоторую информацию о нем. Я добавил цитату с главной страницы и более прямую ссылку на список возможностей. Спасибо за ответ!

Отличный вопрос. Есть два пакета программного обеспечения, которые могут быть вам интересны:

  1. Я попытался запустить EPrime на виртуальной машине на своем Mac, и это была катастрофа. Как я узнал, раньше это работало, но некоторые из более поздних обновлений сделали это невозможным. В процессе выяснения этого я наткнулся на PsyScope X. Это активно разрабатываемая альтернатива EPrime с открытым исходным кодом на Mac, и, судя по всему, даже собранные данные в некоторой степени совместимы с EPrime. Если вы заинтересованы в импорте данных PsyScope в Eprime, см. EPrime-FAQ .

  2. Однако, соглашаясь с Майком, я почувствовал, что мне нужно больше гибкости и контроля для моего недавнего эксперимента, и обратился к LiveCode , как мне его рекомендовал соседний отдел. Это язык программирования высокого уровня, похожий на VisualBasic, но язык очень похож на английский, а программный пакет довольно дешевый. Что мне особенно нравится в LiveCode, так это то, что вы можете программировать на своем Mac и создавать исполняемые файлы для Mac, Windows, Linux и даже iOS и Android, если это необходимо. Я собрал все свои данные на компьютерах с Windows, и были только очень незначительные проблемы с совместимостью (например, родные шрифты и т. д.). Я бы порекомендовал LiveCode, так как кривая обучения не такая крутая, как у других языков, и есть отличная документация с (видео) уроками и отзывчивое сообщество, радое помочь.

Кроме того, для дальнейшего обзора программного обеспечения для поведенческих экспериментов обратитесь к странице сравнения Википедии ‌.

Насколько я знаю, PsyScope X не так «активно развивается», как вы думаете.
EPrime просто будет работать в Windows на Mac. У вас может быть одновременно запущено несколько сеансов ОС, но виртуальные машины не нужны для этого уже много лет. Тем не менее, вероятно, лучше уйти от него, потому что время ужасное.
Спасибо за ваши комментарии. Вы правы, Джон, запуск Windows на вашем Mac вполне возможен. Однако таким образом у вас не будет доступа к приложениям Mac во время разработки в Windows. Я хотел избежать хлопот, связанных с постоянной перезагрузкой компьютера при переключении задач.

Вы должны рассмотреть SuperLab . Он работает на Mac и Windows.

Он использует пользовательский интерфейс «укажи и щелкни», который упрощает настройку экспериментов. Даже непредвиденные обстоятельства «программирования» выполняются с помощью «укажи и щелкни».

Отказ от ответственности: я написал оригинальную версию SuperLab и работаю в Cedrus , ее разработчике.

Прошло некоторое время с тех пор, как я задал этот вопрос, но я попробовал PsychoPy , как некоторые люди предложили в комментариях, и до сих пор я действительно копаю его. Если вы хотите, вы можете использовать только графический интерфейс для создания своего эксперимента, но если вы делаете более сложные вещи, вы можете экспортировать код и начать копаться в нем.

В качестве бонуса он также совместим со всеми основными операционными системами, а именно: Windows, OS X и Linux.

Прошло некоторое время с тех пор, как вопрос был задан, но я все равно дам свой ответ. PsychoPy действительно хорош и прост в использовании, и я обычно рекомендую его людям.

Однако недавно я нашел библиотеку Python Expyriment, и она кажется многообещающей. Хотя вам придется написать свой собственный код, существуют доступные методы для создания окна, представления креста фиксации и так далее. Плюс этой библиотеки в том, что вы также можете кодировать эксперименты для устройств Android (и, конечно же, Windows, Linux и OS-X).

Начиная с версии 4 Inquisit поддерживает Mac. Смотрите это объявление . Вы можете проводить эксперименты локально или через Интернет. Это коммерческий продукт.

Цитирую сайт:

Inquisit используется учеными-бихевиористами во всем мире для создания и применения многочисленных когнитивных, социальных и нейропсихологических показателей. В настоящее время используется более чем в 1077 научно-исследовательских институтах по всему миру.

Поддержка Mac была введена только в начале 2012 года, поэтому я предполагаю, что будет процесс полировки. Я использовал его много раз. Я написал несколько вводных заметок об Inquisit .

В качестве дополнительной вилки для PsychoPy (я автор, поэтому я немного предвзят) см. также независимые данные, собранные Виком Феррейрой и Бренданом Томощуком (из UCSD, ни с одним из которых я не встречался): http://lpl .ucsd.edu/software-survey-results аккуратно подытожены kindredChords

https://cogsci.stackexchange.com/a/16662/9955