¿Cómo puedo crear experimentos de psicología basados ​​en computadora usando OS X?

Utilicé E-prime para crear experimentos de psicología basados ​​en computadora (ya sabe, del tipo en el que, por ejemplo, muestra una serie de imágenes al participante y registra sus respuestas, por ejemplo, pulsaciones de teclas) para Windows. Sin embargo, ahora me gustaría crear experimentos similares en OS X.

Si busco esto en Google, encuentro un par de resultados diferentes, pero es difícil evaluar la calidad de estos programas. ¿Cuál es un buen programa para usar con este propósito?

Respuestas (11)

Mi grupo de investigación se ha vuelto Python puro para los experimentos de codificación; hemos sido quemados demasiadas veces por fallas y comportamiento implícito en el software de construcción de experimentos en caja como para molestarnos en confiar en él. Pasar de una interfaz de diseño de experimentos de apuntar y hacer clic a código puro tiene una gran curva de aprendizaje, y debe tener cuidado de modelar su propio código en código bien validado de otros (especialmente para asegurarse de que está implementando el tiempo correctamente , que se puede matizar).

Puede ser tentador contratar a estudiantes de informática para que codifiquen sus experimentos, pero existe el peligro de que no vengan a la mesa con los mismos antecedentes de diseño experimental que usted y, como consecuencia, hemos encontrado algunos errores de implementación (p. para verificar la entrada durante el tiempo muerto entre la presentación del estímulo, etc.).

Si bien reconozco y de hecho apoyo el impulso hacia la especialización en ciencias cognitivas, creo que de la misma manera que exigimos a todos los investigadores que tengan un poco de experiencia en estadística, también deberíamos exigirles a todos los investigadores que tengan un poco de experiencia en codificación. , sobre todo porque ayuda a engendrar una mentalidad susceptible de considerar modelos mentales formales.

Vincularé el código de uno de mis experimentos una vez que agregue algunos comentarios.
Aquí hay un zip de uno de mis experimentos moderadamente bien comentados: filedropper.com/castforweb
Ah, y solo un aviso: el tiempo en ese experimento es levemente no óptimo en la medida en que usa el tiempo al comienzo del ciclo de prueba para etiquetar las respuestas encontradas durante esa iteración del ciclo. Ahora que lo pienso, probablemente debería haber otra línea "ahora = tiempo.tiempo()" justo encima de la línea "pygame.events.pump()", en caso de que haya un retraso durante la presentación del estímulo. Sin embargo, al final, todo esto se obviará cuando termine mi proyecto paralelo para actualizar SDL1.2 y pygame para implementar el temporizador de alta precisión y la marca de tiempo de eventos de SDL1.3/2.0...
Otro apéndice más: el código que vinculé está escrito en un estilo procedimental en lugar de un estilo OOP. Esto se debe a que considero que la programación orientada a objetos no es necesaria para las cosas simples que tiendo a hacer y me parece que se necesita un poco más de esfuerzo (tanto de codificación como de planificación) para realizar experimentos completamente orientados a objetos. Sin embargo, posiblemente solo sea una peculiaridad personal.
Esto es realmente genial, ¿has hecho alguna codificación que responda a esta pregunta o alguna sugerencia sobre cómo proceder?
@ArtemKaznatcheev No he probado las cosas empíricamente, pero las fuentes me han dicho que confío en que la recopilación de RT basada en la web no es confiable. Sin embargo, es bastante fácil tomar un script de python y crear una aplicación independiente (o exe) usando py2app (o py2exe) que sus participantes pueden descargar.
Escuché que las descargas realmente alejan a las personas de hacer estudios :(.
@Mike: ¿Algún plan para crear un proyecto de Python de código abierto (dirigido a reemplazar e-prime o algo así)? Soy un programador de python, tengo algo de experiencia con experimentos de seguimiento ocular y estaría feliz de contribuir a tal esfuerzo.
@AnandJeyahar Debe consultar PsychoPy ( psychopy.org ) y OpenSesame ( cogsci.nl/software/opensesame ), dos enfoques de software libre que es lo que está buscando. Lo único que falta es una buena implementación de cuestionarios y otros tipos de elementos simples. Pero tengo algunas ideas basadas en PyQt4 y webkit. Avísame si estás interesado en hacer algo.

Recomendaría Matlab y la caja de herramientas de psicofísica . Le permite mostrar todo tipo de estímulos en modo de pantalla completa y le permite capturar pulsaciones de teclas y clics del mouse.

Solo asegúrese de instalar MATLAB R2010a o anterior. R2010b y versiones posteriores de MATLAB son solo de 64 bits y PsychToolbox es solo de 32 bits.
@Solus: ¿qué plataforma? Windows de 32 bits todavía es compatible con la última versión.
OS X (el comentario estaba destinado a Speldosa, pero también a cualquier otra persona que quisiera usar PsychToolbox en OS X. Solo algo a tener en cuenta; no es un impedimento [por ejemplo, puede instalar varias instancias de Matlab, o simplemente instalar la última versión de 64 bits y use la versión de 32 bits de Octave para ejecutar scripts de PsychToolbox]).

OpenSesame es una entrada reciente que es multiplataforma y parece promover el diseño basado en GUI al tiempo que permite la personalización a través de secuencias de comandos de Python.

Se puede encontrar en su sitio web (enlace arriba). Un artículo reciente tiene referencias y resume otras 16 herramientas también (incluidas algunas informadas en las otras respuestas de stackexchange). Encontré excelentes tutoriales en video y la interfaz es amigable y fácil de usar.

Parece que aún no proporciona formas incluidas de experimentos en red (por ejemplo, para experimentos en yugo o juegos de múltiples temas), pero sospecho que podría agregar esto con las secuencias de comandos personalizadas de Python. Para la presentación simple de estímulos y el seguimiento de respuestas, encontré que funcionaba muy bien y permitía un desarrollo rápido. Escribí el experimento en mi máquina Linux y lo implementé para pruebas de sujetos en máquinas Windows sin problemas.

Bienvenido al sitio! ¿Es posible ampliar su respuesta para enumerar los nombres de las otras 16 herramientas resumidas en el artículo? Para aquellos que no están detrás del muro de pago.
Estoy de acuerdo, ¡OpenSesame es genial!

Yo uso Adobe Flash. Mi colega Yana Weinstein ha escrito un libro sobre Programación Flash para las Ciencias Sociales y del Comportamiento que debería estar disponible el próximo mes. ¡Soy un colaborador y ayudé a escribir algo! Compruébalo haciendo clic aquí.

Soy el autor del libro sobre Flash mencionado por Andy DeSoto. Descubrí que Flash es muy sencillo y confiable para la recopilación de datos en línea.

Otra opción es programar en C/C++ usando la librería Tscope . Si no tienes experiencia con la programación, es un poco complicado al principio, pero diría que al final vale la pena.

Tscope es una biblioteca de programación de experimentos C/C++ para científicos cognitivos. Se distribuye bajo la Licencia Pública Gnu y está diseñado para ejecutarse en plataformas Windows 2000 y XP. Proporciona funciones para gráficos, sonido, temporización, aleatorización y registro de respuestas. También están disponibles versiones restringidas de Linux y Mac OS X.

La página de introducción ofrece una descripción general más amplia de las características .

Por lo general, se prefiere no solo vincular a un recurso, sino también brindar información al respecto. Agregué la cita de la página principal y un enlace más directo a la lista de funciones. ¡Gracias por la respuesta!

Gran pregunta. Hay dos paquetes de software que pueden ser de su interés:

  1. Intenté ejecutar EPrime en una máquina virtual en mi Mac y fue una catástrofe. Como descubrí, solía funcionar, pero algunas de las actualizaciones posteriores lo hicieron imposible. En el proceso de resolver esto, me encontré con PsyScope X. Es una alternativa de código abierto desarrollada activamente para EPrime en Mac y, aparentemente, incluso los datos recopilados son algo compatibles con EPrime. Si está interesado en importar datos de PsyScope a Eprime, consulte las preguntas frecuentes de EPrime .

  2. Sin embargo, coincidiendo con Mike, sentí que necesitaba más flexibilidad y control para mi experimento reciente y recurrí a LiveCode , ya que me lo recomendó un departamento vecino. Es un lenguaje de programación de alto nivel similar a VisualBasic pero el lenguaje es muy parecido al inglés y el paquete de software es bastante económico. Lo que más me gusta de LiveCode es que puedes programar en tu Mac y crear ejecutables para Mac, Windows, Linux e incluso iOS y Android si es necesario. Recopilé todos mis datos en máquinas con Windows y solo hubo problemas de compatibilidad muy pequeños (como fuentes nativas, etc.). Recomendaría LiveCode ya que la curva de aprendizaje no es tan pronunciada como la de otros idiomas y hay una excelente documentación con (video) tutoriales y una comunidad receptiva feliz de ayudar.

Además, para obtener una descripción general más detallada del software de experimentos de comportamiento, consulte la página de comparación de Wikipedia ‌.

Por lo que sé, PsyScope X no está tan "desarrollado activamente" como crees.
EPrime simplemente se ejecutaría en Windows en una Mac. Podría tener varias sesiones de sistema operativo ejecutándose a la vez, pero no han sido necesarias máquinas virtuales para eso durante años. Sin embargo, probablemente sea bueno alejarse de él porque el momento es terrible.
Gracias por tus comentarios. Tienes razón, John, ejecutar Windows en tu Mac es una posibilidad. Sin embargo, de esta manera no tendrá acceso a sus aplicaciones de Mac mientras desarrolla en Windows. Quería evitar la molestia de tener que reiniciar constantemente mi máquina al cambiar de tarea.

Deberías considerar SuperLab . Se ejecuta en Mac y Windows.

Utiliza una interfaz de usuario de apuntar y hacer clic que facilita mucho la configuración de experimentos. Incluso las contingencias de "programación" se realizan mediante apuntar y hacer clic.

Descargo de responsabilidad: Escribí la versión original de SuperLab y trabajo en Cedrus , su desarrollador.

Ha pasado un tiempo desde que hice esta pregunta, pero probé PsychoPy como sugirieron algunas personas en los comentarios, y hasta ahora realmente me está gustando. Si lo desea, puede usar solo la GUI para crear su experimento, pero si está haciendo cosas más avanzadas, puede exportar el código y comenzar a investigarlo.

Como beneficio adicional, también es compatible con todos los principales sistemas operativos, es decir: Windows, OS X y Linux.

Ha pasado un tiempo desde que se hizo la pregunta, pero voy a dar mi respuesta de todos modos. PsychoPy es realmente bueno y fácil de usar y es lo que normalmente recomiendo a la gente que use.

Sin embargo, recientemente encontré la biblioteca de Python Expyriment y parece prometedora. Aunque tendrá que escribir su propio código, existen métodos disponibles para crear la ventana, presentar una cruz de fijación, etc. Una ventaja de esta biblioteca es que también puede codificar experimentos para dispositivos Android (y, por supuesto, Windows, Linux y OS-X).

A partir de la versión 4, Inquisit tiene soporte para Mac. Ver este anuncio . Puede ejecutar experimentos localmente o en la web. Es un producto comercial.

Para citar el sitio web:

Los científicos del comportamiento de todo el mundo utilizan Inquisit para crear y administrar numerosas medidas cognitivas, sociales y neuropsicológicas. Ahora en uso en más de 1077 instituciones de investigación en todo el mundo.

La compatibilidad con Mac recién se introdujo a principios de 2012, así que imagino que habrá un proceso de pulido. Lo he usado muchas veces. Escribí algunas notas introductorias sobre Inquisit .

Como complemento adicional para PsychoPy (soy el autor, así que tengo una fracción de sesgo), consulte también los datos independientes recopilados por Vic Ferreira y Brendan Tomoschuk (en UCSD, ninguno de los cuales conozco): http://lpl .ucsd.edu/software-survey-results resumidos cuidadosamente por kindredChords

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