Hola. Me llamo Jon Peirce.
Soy profesor de la Universidad de Nottingham.
Soy el creador de Psychopy.
En este video les voy a ensenar
como crear un sencillo experimento en Psychopy.
Vamos a usar el efecto "Stroop"
Cuando abres Psychopy
te encontraras con dos ventanas
La primera es el "builder", la cual te permite
crear tus experimentos graficamente (solo con botones)
y el otro es el "coder", el cual te permite
crear los experimentos usando programacion
en caso de que quieras escribir el experimento directamente.
Hoy vamos a crear el experimento con el "builder".
El "builder" tiene 3 paneles
Tiene tambien "componentes", y una o mas "rutinas".
En este caso tenemos hecha una unica rutina llamada "trial" (ensayo)
que tiene un flujo que te ayuda
a combinar distintas rutinas.
Para el caso de la tarea "stroop", vamos a necesitar
un objeto de texto como parte de nuestro "trial"
ya que necesitamos mostrar palabras a los sujetos.
Creemos un objeto de texto entonces.
Le vamos a llamar "target". Lo haremos que aparezca
a los 0.5 segundos
y que dure por 5 segundos.
Noten que cada uno de estos parametros
al situarme con el mouse encima, me dan un consejo para
informarme acerca de lo que se espera que yo incluya.
Hay tambien un boton de ayuda. Si hago click en el
me llevara al sitio de Psychopy, donde se encuentra
una informacion mas detallada sobre como usar
el componente en particular.
Por ahora no vamos a agregar ni el color ni el texto
del objeto de texto que estamos creando. Eso lo vamos a hacer
mas tarde.
Haciendo click en "OK", vemos el objeto de texto
que aparece ahora en nuestra rutina y si queremos editarlo
simplemente hacemos click en el icono de nuevo y
podemos volver y cambiar nuestro estimulo.
Podriamos querer presentarlo por 4 segundos en vez de 5,
Asi que ya cambiamos asi su presentacion.
Para esta tarea, tambien necesitamos
que los sujetos respondan, asi que agreguemos un teclado
a esta rutina. Lo vamos a llamar "response".
Lo haremos partir tambien en los 0.5 segundos.
No queremos que los sujetos puedan responder antes de
que el estimulo es presentado
Lo hare que tenga duracion infinita.
Si dejamos el espacio en blanco, el teclado
va a estar disponible para siempre.
Vamos a dejar las "allowed keys" (teclas permitidas) como estan.
Vamos a volver a ellas mas tarde,
cuando configuremos nuestros ensayos.
OK. Ahora sabemos que nuestro teclado va
a durar para siempre.
Entonces, asi es como se va a ver un ensayo en terminos generales
para la tarea "Stroop". Pero necesitamos, obviamente, correr
mas de un ensayo y por ahora tenemos esta
rutina apareciendo solamente una vez en nuestro flujo.
Insertemos un loop sobre el ensayo
para que podamos repetirlo
Si hago click en "Insert Loop" (insertar loop) una sola vez,
y selecciono, de nuevo con un solo click,
donde quiero que el loop comience y termine,
Se abre una ventana, preguntando
como le llamare a este loop.
Le vamos a poner "trials", bien simple.
Debiera ser "random" (aleatorio) o "sequential" (secuencial) en elegir la siguiente condicion?
Digamos aleatorio.
Tendremos cinco repeticiones, y tendremos
que ir y especificar nuestro "archivo de condiciones".
Ahora, notemos que esta preguntando por un ensayo,
un archivo que puede ser CSV o XLSX. Tenemos que salir e
ir a Excel para crear nuestro archivo de condiciones.
Y hacer click en "OK". Veras que Psychopy insertara
un loop sobre el trial.
Grabemos ahora el experimento
para que no lo perdamos.
Grabado. Voy a crear una nueva carpeta en
mi escritorio que voy a llamar "Stroop" y
al archivo "Stroop Experiment".
OK.
La forma mas simple de definir condiciones
para tu experimento es usar una tabla
de Excel.
Asi podemos crear los parametros para
nuestro experimento, como la palabra que
vamos a presentar, o el color que
tendra la palabra, y asi podemos crear
distintas condiciones. Especificamos una por fila.
Para la tarea "Stroop", podemos por ejemplo usar la palabra "red"
escrita en rojo. Tambien podemos tener la palabra "red" escrita
en verde. Podemos tener la palabra "green"
escrita en verde, etc.
"Green" en azul. "Blue" en azul. "Blue" en rojo.
Voy a llevar un registro acerca
de si son o no congruentes. No necesitamos hacerlo ahora.
Siempre se puede dejar para despues, pero es
conveniente tenerlos grabados.
Entonces, a congruente le doy, digamos, el valor "1"
que significa "true" (verdadero) y "0" para "false" (falso).
Esto va a ser util mas adelante.
Ahora necesitamos especificar cual es
la respuesta correcta, porque Psychopy querra saber
si el sujeto respondio correctamente o no.
A esto le voy a llamar "corrAns".
Estos parametros no pueden usar ningun tipo de puntuacion
o espacio en sus nombres. Asi que voy a
sacarle el espacio y darle una letra mayuscula
para especificar la respuesta correcta
En este caso, vamos a usar las teclas "left" (izquierda)
"down" (abajo), y "right" (derecha) del teclado
Entonces, voy a especificar ese "red" y recordemos
que en la tarea "Stroop" a los sujetos se les pide
reportar el color del texto antes que
la palabra en si. Entonces, cuando el color es rojo, les voy
a pedir a los sujetos que presionen "left" (izquierda).
Esa es la tecla "left" (izquierda)
Cuando es verde debieran presionar "down" (abajo)
"Down" de nuevo.
Cuando el color es "blue" tienen que presionar "right"
"Right" (derecha).
Y ahora me salio "red" de nuevo, asi que debieran
presionar "left" (izquierda).
OK. Eso define seis condiciones distintas
para nuestro experimento, con cuatro parametros diferentes.
OK. Grabemos el archivo.
Voy a usar la misma carpeta de mi
experimento, aunque no es obligatorio.
Y lo voy a llamar "conditions.xlsx".
Es muy importante que el archivo lo grabes
en formato XLSX. Psychopy no puede usar los
antiguos archivos XLS.
Hacemos click en "Grabar" (Save) y listo.
Ahora tenemos que decirle a PsychoPy donde esta el archivo
y como usarlo durante los ensayos.
La forma de hacerlo es usando el cuadro de dialogo loop.
Entonces, si haces click en el loop otra vez
obtendremos las propiedades del loop
y tendremos un archivo de condiciones. Si buscamos,
podemos seleccionar el archivo que acabamos de crear,
lo abrimos, y me dice que hay
seis condiciones con cuatro parametros diferentes.
Los parametros son color ("color"), word ("palabra"), congruent ("congruente")
y correct answer ("respuesta correcta").
Ok? Si por alguna razon el archivo fuera invalido
tal vez porque dejamos un espacio en alguno de los titulos de nuestras columnas
entonces vamos a recibir una advertencia
diciendonos que no vamos a poder usar el archivo
o no nos mostraria los parametros.
Ahora podemos hacer click en "OK". Esta mostrando que
tenemos seis ensayos aleatorios repetidos cinco veces.
Es decir, cinco repeticiones distintas de seis condiciones distintas.
OK, ahora el archivo con las condiciones esta configurado
aqui para que en cada repeticion durante el loop
usemos una fila diferente.
Todavia resta decirle al estimulo que
parametros usar.
Queremos que el color de nuestro estimulo sea determinado
por el parametro color. Aqui he escrito
"$colour", con una "u" porque asi
asi es como lo escribimos en el archivo de Excel.
Y el simbolo "$" es para decirle a Psychopy "Este no es
un valor literal, es una variable."
Ok? Entonces, va a partir y encontrar
una variable llamada "colour" y ver cual es el valor
actual de esa variable.
Va a ser rojo o verde o azul.
Tambien voy a configurarlo para que cambie en cada repeticion
en vez de ser constante.
Ok? No queremos que nuestro estimulo este
fijo en un color en particular para todo el experimento.
De la misma forma, el texto del estimulo "text" debiera ser
la palabra que especificamos en el archivo de Excel
y no debiera ser "word", debiera ser la variable
"word" de modo que vaya y busque esa variable
que va a ser red ("rojo") o green ("verde") o blue ("azul").
Y de nuevo, queremos que cambie en cada repeticion
de esta rutina.
Ok. Tambien necesitamos configurar la respuesta para que este
basada en las condiciones. Por lo tanto tengo que cambiar
las teclas que van a estar permitidas para que
el sujeto responda. No queremos que
usen el yes" o el "no". Queremos que usen
"left", "right" and "down". Asi que noten que todas las teclas
que quiero agregar tengo que separarlas por comas
y tengo que poner comas invertidas alrededor de los nombres
de cada tecla.
Si lo dejo en blanco entonces todas las teclas
estaran disponibles. Ok? Esto le permite al sujeto
presionar cualquier tecla. Tambien tengo aqui "forceEndRoutine"
activado. Dejamos que la respuesta sea
infinita, pero apenas el sujeto presione una tecla
va a forzar el termino del ensayo.
Asi que eso es algo que nos sirve.
Tambien vamos a grabar la respuesta correcta.
De modo que si activo esa opcion, tenemos que decirle a PsychoPy
cual es la respuesta correcta para este ensayo
y su lo recuerdan, esto fue grabado como "corrAns".
De nuevo, necesitamos usar "$corrAns" para especificar
el hecho de que es un nombre de una variable
no debiera ir a buscar una palabra llamada "corrAns"
porque nunca la va a encontrar. Debe usar
la variables variable "corrAns". Y asi estamos listos. OK.
Grabamos. Ok, ya estamos casi listos.
Esto debiera ser ya un experimento funcionando, pero tambien nos gustaria
agregar algunas instrucciones para el sujeto.
Voy a agregar una rutina.
Cuando hago click en ese boton, me muestra la opcion "new"
o "trial". Seleccionemos "new" y llamemosla
"instructions".
Me pregunta donde quiero insertar las instrucciones.
No queremos que las inserte aca porque eso
repetiria las instrucciones en cada ensayo.
Pongamosla antes del loop. Y ahora podemos hacer click
en la rutina de instrucciones y editarla.
Entonces vamos a necesitar otro objeto de texto.
Lo vamos a llamar "instrText",
que empiece en el tiempo cero. Duracion? Lo hacemos infinito.
Color blanco, perfecto. Y le vamos a dar el texto
"Recuerde escoger el color de las letras,
ignorando la palabra:
izquierda=rojo, abajo=verde, derecha=azul
Ok.
Ahora, dado que hemos hecho que el texto dure para siempre
le dimos duracion infinita, necesitamos asegurarnos
de que el sujeto puede deshacerse de el.
Entonces, vamos a hacer click en "keyboard" (teclado) y vamos a permitir cualquier tacla
vamos a forzar el termino de la rutina,
y no nos vamos a preocupar de grabar nada
Lo hacemos que dure para siempre.
Ok.
Si te equivocas, debieras siempre poder ser capaz
de presionar "escape" y todavia podras salir
del experimento sin la necesidad
de reiniciar el computador.
Ok, voy a grabarlo de nuevo.
Creo que ya estamos listos.
Ok, echemosle una mirada rapida
al cuadro de dialogo "Experiment Settings".
En este dialogo, podemos controlar cosas como si
el mouse va a estar o no visible durante el experimento,
el color del fondo de pantalla,
si va a presentarse en una ventana o en pantalla completa,
si va a ser en la pantalla 1 o en la pantalla 2, en caso
de que tengas varios monitores, y que tipo de archivos de datos
you want to save out.te gustaria grabar. Asi que un monton
de cosas utiles para controlar tu experimento.
Ahora, en este punto podemos ver el codigo del programa.
Que te va a permitir ir y tal vez aprender un poco
de como funciona Python. Tiene alrededor de 220 lineas
este experimento, asi que no
es un codigo muy complicado. Pero no lo necesitamos.
Podemos en realidad ir y correr el experimento
haciendo click en el hombre verde que aparece corriendo.
A menduo toma algunos segundos, especialmente la primera vez
que el experimento corre. Asi que se paciente con el primero.
Ahi estamos. Tenemos un cuadro de dialogo que aparece
preguntando por el participante y el numero de la sesion.
Eso tambien estaba controlado en
la configuracion de nuestro experimento.
En realidad no voy a correr el experimento.
Eso se los dejo a ustedes.
OK. Encontraron el tutorial util?
Busquen en el menu de Demos mas ideas
y espero que disfruten Psychopy!