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