WEBVTT 00:00:01.132 --> 00:00:02.897 Hola. Me llamo Jon Peirce. 00:00:02.897 --> 00:00:04.347 Soy profesor de la Universidad de Nottingham. 00:00:04.347 --> 00:00:07.430 Soy el creador de Psychopy. 00:00:07.430 --> 00:00:08.648 En este video les voy a ensenar 00:00:08.648 --> 00:00:09.982 como crear un sencillo experimento en Psychopy. 00:00:09.982 --> 00:00:11.829 Vamos a usar el efecto "Stroop" 00:00:11.829 --> 00:00:14.575 Cuando abres Psychopy 00:00:14.575 --> 00:00:17.293 te encontraras con dos ventanas 00:00:17.293 --> 00:00:19.907 La primera es el "builder", la cual te permite 00:00:19.907 --> 00:00:22.285 crear tus experimentos graficamente (solo con botones) 00:00:22.285 --> 00:00:25.250 y el otro es el "coder", el cual te permite 00:00:25.250 --> 00:00:27.604 crear los experimentos usando programacion 00:00:27.604 --> 00:00:29.802 en caso de que quieras escribir el experimento directamente. 00:00:29.802 --> 00:00:32.864 Hoy vamos a crear el experimento con el "builder". 00:00:32.864 --> 00:00:37.052 El "builder" tiene 3 paneles 00:00:37.052 --> 00:00:41.437 Tiene tambien "componentes", y una o mas "rutinas". 00:00:41.437 --> 00:00:43.419 En este caso tenemos hecha una unica rutina llamada "trial" (ensayo) 00:00:43.419 --> 00:00:45.809 que tiene un flujo que te ayuda 00:00:45.809 --> 00:00:51.985 a combinar distintas rutinas. 00:00:51.985 --> 00:00:53.780 Para el caso de la tarea "stroop", vamos a necesitar 00:00:53.780 --> 00:00:56.300 un objeto de texto como parte de nuestro "trial" 00:00:56.300 --> 00:00:58.279 ya que necesitamos mostrar palabras a los sujetos. 00:00:58.279 --> 00:01:00.521 Creemos un objeto de texto entonces. 00:01:00.521 --> 00:01:03.869 Le vamos a llamar "target". Lo haremos que aparezca 00:01:03.869 --> 00:01:06.107 a los 0.5 segundos 00:01:06.107 --> 00:01:09.127 y que dure por 5 segundos. 00:01:09.127 --> 00:01:11.626 Noten que cada uno de estos parametros 00:01:11.626 --> 00:01:14.036 al situarme con el mouse encima, me dan un consejo para 00:01:14.036 --> 00:01:18.440 informarme acerca de lo que se espera que yo incluya. 00:01:18.440 --> 00:01:21.366 Hay tambien un boton de ayuda. Si hago click en el 00:01:21.366 --> 00:01:24.379 me llevara al sitio de Psychopy, donde se encuentra 00:01:24.379 --> 00:01:27.181 una informacion mas detallada sobre como usar 00:01:27.181 --> 00:01:29.760 el componente en particular. 00:01:29.760 --> 00:01:33.182 Por ahora no vamos a agregar ni el color ni el texto 00:01:33.182 --> 00:01:36.763 del objeto de texto que estamos creando. Eso lo vamos a hacer 00:01:36.763 --> 00:01:39.292 mas tarde. 00:01:39.292 --> 00:01:42.700 Haciendo click en "OK", vemos el objeto de texto 00:01:42.700 --> 00:01:45.556 que aparece ahora en nuestra rutina y si queremos editarlo 00:01:45.556 --> 00:01:48.177 simplemente hacemos click en el icono de nuevo y 00:01:48.177 --> 00:01:50.975 podemos volver y cambiar nuestro estimulo. 00:01:50.975 --> 00:01:53.857 Podriamos querer presentarlo por 4 segundos en vez de 5, 00:01:53.857 --> 00:01:56.734 Asi que ya cambiamos asi su presentacion. 00:01:56.734 --> 00:02:01.224 Para esta tarea, tambien necesitamos 00:02:01.224 --> 00:02:04.333 que los sujetos respondan, asi que agreguemos un teclado 00:02:04.333 --> 00:02:09.952 a esta rutina. Lo vamos a llamar "response". 00:02:09.952 --> 00:02:13.465 Lo haremos partir tambien en los 0.5 segundos. 00:02:13.465 --> 00:02:14.617 No queremos que los sujetos puedan responder antes de 00:02:14.617 --> 00:02:17.176 que el estimulo es presentado 00:02:17.176 --> 00:02:21.162 Lo hare que tenga duracion infinita. 00:02:21.162 --> 00:02:24.342 Si dejamos el espacio en blanco, el teclado 00:02:24.342 --> 00:02:26.519 va a estar disponible para siempre. 00:02:26.519 --> 00:02:30.444 Vamos a dejar las "allowed keys" (teclas permitidas) como estan. 00:02:30.444 --> 00:02:32.394 Vamos a volver a ellas mas tarde, 00:02:32.394 --> 00:02:34.183 cuando configuremos nuestros ensayos. 00:02:34.183 --> 00:02:41.268 OK. Ahora sabemos que nuestro teclado va 00:02:41.268 --> 00:02:43.097 a durar para siempre. 00:02:43.097 --> 00:02:47.387 Entonces, asi es como se va a ver un ensayo en terminos generales 00:02:47.387 --> 00:02:50.182 para la tarea "Stroop". Pero necesitamos, obviamente, correr 00:02:50.182 --> 00:02:50.432 mas de un ensayo y por ahora tenemos esta 00:02:52.221 --> 00:02:54.453 rutina apareciendo solamente una vez en nuestro flujo. 00:02:54.453 --> 00:02:57.761 Insertemos un loop sobre el ensayo 00:02:57.761 --> 00:03:00.414 para que podamos repetirlo 00:03:00.414 --> 00:03:02.569 Si hago click en "Insert Loop" (insertar loop) una sola vez, 00:03:02.569 --> 00:03:05.299 y selecciono, de nuevo con un solo click, 00:03:05.299 --> 00:03:08.597 donde quiero que el loop comience y termine, 00:03:08.597 --> 00:03:12.637 Se abre una ventana, preguntando 00:03:12.637 --> 00:03:14.557 como le llamare a este loop. 00:03:14.557 --> 00:03:16.414 Le vamos a poner "trials", bien simple. 00:03:16.414 --> 00:03:21.448 Debiera ser "random" (aleatorio) o "sequential" (secuencial) en elegir la siguiente condicion? 00:03:21.448 --> 00:03:22.961 Digamos aleatorio. 00:03:22.961 --> 00:03:25.686 Tendremos cinco repeticiones, y tendremos 00:03:25.686 --> 00:03:27.573 que ir y especificar nuestro "archivo de condiciones". 00:03:27.573 --> 00:03:30.134 Ahora, notemos que esta preguntando por un ensayo, 00:03:30.134 --> 00:03:33.963 un archivo que puede ser CSV o XLSX. Tenemos que salir e 00:03:33.963 --> 00:03:36.485 ir a Excel para crear nuestro archivo de condiciones. 00:03:36.485 --> 00:03:40.418 Y hacer click en "OK". Veras que Psychopy insertara 00:03:40.418 --> 00:03:42.509 un loop sobre el trial. 00:03:42.509 --> 00:03:45.481 Grabemos ahora el experimento 00:03:45.481 --> 00:03:47.937 para que no lo perdamos. 00:03:47.937 --> 00:03:53.579 Grabado. Voy a crear una nueva carpeta en 00:03:53.579 --> 00:04:00.620 mi escritorio que voy a llamar "Stroop" y 00:04:00.620 --> 00:04:05.142 al archivo "Stroop Experiment". 00:04:05.142 --> 00:04:09.026 OK. 00:04:09.026 --> 00:04:14.455 La forma mas simple de definir condiciones 00:04:14.455 --> 00:04:18.914 para tu experimento es usar una tabla 00:04:18.914 --> 00:04:20.360 de Excel. 00:04:20.360 --> 00:04:22.461 Asi podemos crear los parametros para 00:04:22.461 --> 00:04:25.397 nuestro experimento, como la palabra que 00:04:25.397 --> 00:04:27.803 vamos a presentar, o el color que 00:04:27.803 --> 00:04:30.862 tendra la palabra, y asi podemos crear 00:04:30.862 --> 00:04:34.064 distintas condiciones. Especificamos una por fila. 00:04:34.064 --> 00:04:38.328 Para la tarea "Stroop", podemos por ejemplo usar la palabra "red" 00:04:38.328 --> 00:04:43.789 escrita en rojo. Tambien podemos tener la palabra "red" escrita 00:04:43.789 --> 00:04:48.140 en verde. Podemos tener la palabra "green" 00:04:48.140 --> 00:04:51.279 escrita en verde, etc. 00:04:51.279 --> 00:05:04.370 "Green" en azul. "Blue" en azul. "Blue" en rojo. 00:05:04.370 --> 00:05:08.024 Voy a llevar un registro acerca 00:05:08.024 --> 00:05:10.101 de si son o no congruentes. No necesitamos hacerlo ahora. 00:05:10.101 --> 00:05:12.668 Siempre se puede dejar para despues, pero es 00:05:12.668 --> 00:05:15.548 conveniente tenerlos grabados. 00:05:15.548 --> 00:05:17.631 Entonces, a congruente le doy, digamos, el valor "1" 00:05:17.631 --> 00:05:20.634 que significa "true" (verdadero) y "0" para "false" (falso). 00:05:20.634 --> 00:05:25.364 Esto va a ser util mas adelante. 00:05:25.364 --> 00:05:28.066 Ahora necesitamos especificar cual es 00:05:28.066 --> 00:05:30.575 la respuesta correcta, porque Psychopy querra saber 00:05:30.575 --> 00:05:33.663 si el sujeto respondio correctamente o no. 00:05:33.663 --> 00:05:39.719 A esto le voy a llamar "corrAns". 00:05:39.719 --> 00:05:43.766 Estos parametros no pueden usar ningun tipo de puntuacion 00:05:43.766 --> 00:05:47.543 o espacio en sus nombres. Asi que voy a 00:05:47.543 --> 00:05:50.577 sacarle el espacio y darle una letra mayuscula 00:05:50.577 --> 00:05:53.960 para especificar la respuesta correcta 00:05:53.960 --> 00:05:57.335 En este caso, vamos a usar las teclas "left" (izquierda) 00:05:57.335 --> 00:06:02.103 "down" (abajo), y "right" (derecha) del teclado 00:06:02.103 --> 00:06:05.709 Entonces, voy a especificar ese "red" y recordemos 00:06:05.709 --> 00:06:08.301 que en la tarea "Stroop" a los sujetos se les pide 00:06:08.301 --> 00:06:10.781 reportar el color del texto antes que 00:06:10.781 --> 00:06:14.086 la palabra en si. Entonces, cuando el color es rojo, les voy 00:06:14.086 --> 00:06:15.898 a pedir a los sujetos que presionen "left" (izquierda). 00:06:15.898 --> 00:06:19.152 Esa es la tecla "left" (izquierda) 00:06:19.152 --> 00:06:20.931 Cuando es verde debieran presionar "down" (abajo) 00:06:20.931 --> 00:06:23.428 "Down" de nuevo. 00:06:23.428 --> 00:06:26.351 Cuando el color es "blue" tienen que presionar "right" 00:06:26.351 --> 00:06:28.294 "Right" (derecha). 00:06:28.294 --> 00:06:31.965 Y ahora me salio "red" de nuevo, asi que debieran 00:06:31.965 --> 00:06:32.973 presionar "left" (izquierda). 00:06:32.973 --> 00:06:35.811 OK. Eso define seis condiciones distintas 00:06:35.811 --> 00:06:38.616 para nuestro experimento, con cuatro parametros diferentes. 00:06:38.616 --> 00:06:41.480 OK. Grabemos el archivo. 00:06:41.480 --> 00:06:47.119 Voy a usar la misma carpeta de mi 00:06:47.119 --> 00:06:49.467 experimento, aunque no es obligatorio. 00:06:49.467 --> 00:06:52.789 Y lo voy a llamar "conditions.xlsx". 00:06:52.789 --> 00:06:54.440 Es muy importante que el archivo lo grabes 00:06:54.440 --> 00:06:58.250 en formato XLSX. Psychopy no puede usar los 00:06:58.250 --> 00:07:02.468 antiguos archivos XLS. 00:07:02.468 --> 00:07:07.695 Hacemos click en "Grabar" (Save) y listo. 00:07:07.695 --> 00:07:11.758 Ahora tenemos que decirle a PsychoPy donde esta el archivo 00:07:11.758 --> 00:07:14.364 y como usarlo durante los ensayos. 00:07:14.364 --> 00:07:18.557 La forma de hacerlo es usando el cuadro de dialogo loop. 00:07:18.557 --> 00:07:21.831 Entonces, si haces click en el loop otra vez 00:07:21.831 --> 00:07:24.559 obtendremos las propiedades del loop 00:07:24.559 --> 00:07:27.308 y tendremos un archivo de condiciones. Si buscamos, 00:07:27.308 --> 00:07:31.306 podemos seleccionar el archivo que acabamos de crear, 00:07:31.306 --> 00:07:37.468 lo abrimos, y me dice que hay 00:07:37.468 --> 00:07:40.055 seis condiciones con cuatro parametros diferentes. 00:07:40.055 --> 00:07:41.618 Los parametros son color ("color"), word ("palabra"), congruent ("congruente") 00:07:41.618 --> 00:07:43.452 y correct answer ("respuesta correcta"). 00:07:43.452 --> 00:07:47.662 Ok? Si por alguna razon el archivo fuera invalido 00:07:47.662 --> 00:07:49.665 tal vez porque dejamos un espacio en alguno de los titulos de nuestras columnas 00:07:49.665 --> 00:07:52.212 entonces vamos a recibir una advertencia 00:07:52.212 --> 00:07:54.216 diciendonos que no vamos a poder usar el archivo 00:07:54.216 --> 00:07:56.612 o no nos mostraria los parametros. 00:07:56.612 --> 00:07:59.880 Ahora podemos hacer click en "OK". Esta mostrando que 00:07:59.880 --> 00:08:05.294 tenemos seis ensayos aleatorios repetidos cinco veces. 00:08:05.294 --> 00:08:09.788 Es decir, cinco repeticiones distintas de seis condiciones distintas. 00:08:09.788 --> 00:08:14.637 OK, ahora el archivo con las condiciones esta configurado 00:08:14.637 --> 00:08:17.054 aqui para que en cada repeticion durante el loop 00:08:17.054 --> 00:08:18.378 usemos una fila diferente. 00:08:18.378 --> 00:08:21.315 Todavia resta decirle al estimulo que 00:08:21.315 --> 00:08:24.035 parametros usar. 00:08:24.035 --> 00:08:26.312 Queremos que el color de nuestro estimulo sea determinado 00:08:26.312 --> 00:08:31.243 por el parametro color. Aqui he escrito 00:08:31.243 --> 00:08:35.336 "$colour", con una "u" porque asi 00:08:35.336 --> 00:08:38.028 asi es como lo escribimos en el archivo de Excel. 00:08:38.028 --> 00:08:42.931 Y el simbolo "$" es para decirle a Psychopy "Este no es 00:08:42.931 --> 00:08:45.845 un valor literal, es una variable." 00:08:45.845 --> 00:08:47.767 Ok? Entonces, va a partir y encontrar 00:08:47.767 --> 00:08:50.173 una variable llamada "colour" y ver cual es el valor 00:08:50.173 --> 00:08:52.200 actual de esa variable. 00:08:52.200 --> 00:08:54.164 Va a ser rojo o verde o azul. 00:08:54.164 --> 00:08:58.678 Tambien voy a configurarlo para que cambie en cada repeticion 00:08:58.678 --> 00:09:01.493 en vez de ser constante. 00:09:01.493 --> 00:09:03.436 Ok? No queremos que nuestro estimulo este 00:09:03.436 --> 00:09:07.220 fijo en un color en particular para todo el experimento. 00:09:07.220 --> 00:09:11.238 De la misma forma, el texto del estimulo "text" debiera ser 00:09:11.238 --> 00:09:15.916 la palabra que especificamos en el archivo de Excel 00:09:15.916 --> 00:09:19.457 y no debiera ser "word", debiera ser la variable 00:09:19.457 --> 00:09:22.394 "word" de modo que vaya y busque esa variable 00:09:22.394 --> 00:09:24.506 que va a ser red ("rojo") o green ("verde") o blue ("azul"). 00:09:24.506 --> 00:09:29.034 Y de nuevo, queremos que cambie en cada repeticion 00:09:29.034 --> 00:09:31.091 de esta rutina. 00:09:31.091 --> 00:09:40.656 Ok. Tambien necesitamos configurar la respuesta para que este 00:09:40.656 --> 00:09:44.970 basada en las condiciones. Por lo tanto tengo que cambiar 00:09:44.970 --> 00:09:47.391 las teclas que van a estar permitidas para que 00:09:47.391 --> 00:09:49.464 el sujeto responda. No queremos que 00:09:49.464 --> 00:09:52.128 usen el yes" o el "no". Queremos que usen 00:09:52.128 --> 00:09:57.230 "left", "right" and "down". Asi que noten que todas las teclas 00:09:57.230 --> 00:10:00.581 que quiero agregar tengo que separarlas por comas 00:10:00.581 --> 00:10:05.026 y tengo que poner comas invertidas alrededor de los nombres 00:10:05.026 --> 00:10:07.494 de cada tecla. 00:10:07.494 --> 00:10:11.775 Si lo dejo en blanco entonces todas las teclas 00:10:11.775 --> 00:10:14.809 estaran disponibles. Ok? Esto le permite al sujeto 00:10:14.809 --> 00:10:19.724 presionar cualquier tecla. Tambien tengo aqui "forceEndRoutine" 00:10:19.724 --> 00:10:22.765 activado. Dejamos que la respuesta sea 00:10:22.765 --> 00:10:26.222 infinita, pero apenas el sujeto presione una tecla 00:10:26.222 --> 00:10:28.205 va a forzar el termino del ensayo. 00:10:28.205 --> 00:10:30.271 Asi que eso es algo que nos sirve. 00:10:30.271 --> 00:10:32.813 Tambien vamos a grabar la respuesta correcta. 00:10:32.813 --> 00:10:36.512 De modo que si activo esa opcion, tenemos que decirle a PsychoPy 00:10:36.512 --> 00:10:39.030 cual es la respuesta correcta para este ensayo 00:10:39.030 --> 00:10:43.857 y su lo recuerdan, esto fue grabado como "corrAns". 00:10:43.857 --> 00:10:48.495 De nuevo, necesitamos usar "$corrAns" para especificar 00:10:48.495 --> 00:10:52.550 el hecho de que es un nombre de una variable 00:10:52.550 --> 00:10:54.919 no debiera ir a buscar una palabra llamada "corrAns" 00:10:54.919 --> 00:10:56.542 porque nunca la va a encontrar. Debe usar 00:10:56.542 --> 00:11:00.997 la variables variable "corrAns". Y asi estamos listos. OK. 00:11:00.997 --> 00:11:06.868 Grabamos. Ok, ya estamos casi listos. 00:11:06.868 --> 00:11:09.619 Esto debiera ser ya un experimento funcionando, pero tambien nos gustaria 00:11:09.619 --> 00:11:12.094 agregar algunas instrucciones para el sujeto. 00:11:12.094 --> 00:11:15.383 Voy a agregar una rutina. 00:11:15.383 --> 00:11:20.543 Cuando hago click en ese boton, me muestra la opcion "new" 00:11:20.543 --> 00:11:24.298 o "trial". Seleccionemos "new" y llamemosla 00:11:24.298 --> 00:11:31.254 "instructions". 00:11:31.254 --> 00:11:35.553 Me pregunta donde quiero insertar las instrucciones. 00:11:35.553 --> 00:11:38.139 No queremos que las inserte aca porque eso 00:11:38.139 --> 00:11:40.016 repetiria las instrucciones en cada ensayo. 00:11:40.016 --> 00:11:43.980 Pongamosla antes del loop. Y ahora podemos hacer click 00:11:43.980 --> 00:11:48.576 en la rutina de instrucciones y editarla. 00:11:48.576 --> 00:11:52.340 Entonces vamos a necesitar otro objeto de texto. 00:11:52.340 --> 00:12:02.253 Lo vamos a llamar "instrText", 00:12:02.253 --> 00:12:05.829 que empiece en el tiempo cero. Duracion? Lo hacemos infinito. 00:12:05.829 --> 00:12:11.737 Color blanco, perfecto. Y le vamos a dar el texto 00:12:11.737 --> 00:12:27.509 "Recuerde escoger el color de las letras, 00:12:27.509 --> 00:12:33.696 ignorando la palabra: 00:12:33.696 --> 00:12:46.957 izquierda=rojo, abajo=verde, derecha=azul 00:12:46.957 --> 00:12:49.035 Ok. 00:12:49.035 --> 00:12:54.680 Ahora, dado que hemos hecho que el texto dure para siempre 00:12:54.680 --> 00:12:56.465 le dimos duracion infinita, necesitamos asegurarnos 00:12:56.465 --> 00:12:59.016 de que el sujeto puede deshacerse de el. 00:12:59.016 --> 00:13:05.412 Entonces, vamos a hacer click en "keyboard" (teclado) y vamos a permitir cualquier tacla 00:13:05.412 --> 00:13:10.151 vamos a forzar el termino de la rutina, 00:13:10.151 --> 00:13:12.890 y no nos vamos a preocupar de grabar nada 00:13:12.890 --> 00:13:15.799 Lo hacemos que dure para siempre. 00:13:15.799 --> 00:13:18.192 Ok. 00:13:18.192 --> 00:13:23.540 Si te equivocas, debieras siempre poder ser capaz 00:13:23.540 --> 00:13:25.855 de presionar "escape" y todavia podras salir 00:13:25.855 --> 00:13:27.442 del experimento sin la necesidad 00:13:27.442 --> 00:13:28.735 de reiniciar el computador. 00:13:28.735 --> 00:13:31.079 Ok, voy a grabarlo de nuevo. 00:13:31.079 --> 00:13:32.589 Creo que ya estamos listos. 00:13:32.589 --> 00:13:37.067 Ok, echemosle una mirada rapida 00:13:37.067 --> 00:13:39.364 al cuadro de dialogo "Experiment Settings". 00:13:39.364 --> 00:13:42.300 En este dialogo, podemos controlar cosas como si 00:13:42.300 --> 00:13:45.123 el mouse va a estar o no visible durante el experimento, 00:13:45.123 --> 00:13:48.133 el color del fondo de pantalla, 00:13:48.133 --> 00:13:51.420 si va a presentarse en una ventana o en pantalla completa, 00:13:51.420 --> 00:13:54.463 si va a ser en la pantalla 1 o en la pantalla 2, en caso 00:13:54.463 --> 00:13:57.029 de que tengas varios monitores, y que tipo de archivos de datos 00:13:57.029 --> 00:13:59.560 you want to save out.te gustaria grabar. Asi que un monton 00:13:59.560 --> 00:14:01.869 de cosas utiles para controlar tu experimento. 00:14:01.869 --> 00:14:05.355 Ahora, en este punto podemos ver el codigo del programa. 00:14:05.355 --> 00:14:08.771 Que te va a permitir ir y tal vez aprender un poco 00:14:08.771 --> 00:14:15.104 de como funciona Python. Tiene alrededor de 220 lineas 00:14:15.104 --> 00:14:18.279 este experimento, asi que no 00:14:18.279 --> 00:14:21.785 es un codigo muy complicado. Pero no lo necesitamos. 00:14:21.785 --> 00:14:24.826 Podemos en realidad ir y correr el experimento 00:14:24.826 --> 00:14:26.926 haciendo click en el hombre verde que aparece corriendo. 00:14:26.926 --> 00:14:31.149 A menduo toma algunos segundos, especialmente la primera vez 00:14:31.149 --> 00:14:34.740 que el experimento corre. Asi que se paciente con el primero. 00:14:34.740 --> 00:14:36.785 Ahi estamos. Tenemos un cuadro de dialogo que aparece 00:14:36.785 --> 00:14:39.596 preguntando por el participante y el numero de la sesion. 00:14:39.596 --> 00:14:42.103 Eso tambien estaba controlado en 00:14:42.103 --> 00:14:43.712 la configuracion de nuestro experimento. 00:14:43.712 --> 00:14:45.359 En realidad no voy a correr el experimento. 00:14:45.359 --> 00:14:47.964 Eso se los dejo a ustedes. 00:14:47.964 --> 00:14:49.795 OK. Encontraron el tutorial util? 00:14:49.795 --> 00:14:51.821 Busquen en el menu de Demos mas ideas 00:14:51.821 --> 00:14:54.000 y espero que disfruten Psychopy!