Return to Video

Build your first PsychoPy experiment (Stroop task)

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

This tutorial shows you the basics and how to build a complete experiment from scratch in PsychoPy (in just 15 minutes). See also the documentation at http://www.psychopy.org

This is the first video tutorial I've made. Apologies for all the extraneous mouse movements!

more » « less
Video Language:
English, British
Duration:
14:54

Spanish, Argentinian subtitles

Revisions