YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Spanish, Argentinian subtitles

← Build your first PsychoPy experiment (Stroop task)

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!

Get Embed Code
3 Languages

Showing Revision 4 created 06/04/2015 by Omar David Perez.

  1. Hola. Me llamo Jon Peirce.

  2. Soy profesor de la Universidad de Nottingham.
  3. Soy el creador de Psychopy.
  4. En este video les voy a ensenar
  5. como crear un sencillo experimento en Psychopy.
  6. Vamos a usar el efecto "Stroop"
  7. Cuando abres Psychopy
  8. te encontraras con dos ventanas
  9. La primera es el "builder", la cual te permite
  10. crear tus experimentos graficamente (solo con botones)
  11. y el otro es el "coder", el cual te permite
  12. crear los experimentos usando programacion
  13. en caso de que quieras escribir el experimento directamente.
  14. Hoy vamos a crear el experimento con el "builder".
  15. El "builder" tiene 3 paneles
  16. Tiene tambien "componentes", y una o mas "rutinas".
  17. En este caso tenemos hecha una unica rutina llamada "trial" (ensayo)
  18. que tiene un flujo que te ayuda
  19. a combinar distintas rutinas.
  20. Para el caso de la tarea "stroop", vamos a necesitar
  21. un objeto de texto como parte de nuestro "trial"
  22. ya que necesitamos mostrar palabras a los sujetos.
  23. Creemos un objeto de texto entonces.
  24. Le vamos a llamar "target". Lo haremos que aparezca
  25. a los 0.5 segundos
  26. y que dure por 5 segundos.
  27. Noten que cada uno de estos parametros
  28. al situarme con el mouse encima, me dan un consejo para
  29. informarme acerca de lo que se espera que yo incluya.
  30. Hay tambien un boton de ayuda. Si hago click en el
  31. me llevara al sitio de Psychopy, donde se encuentra
  32. una informacion mas detallada sobre como usar
  33. el componente en particular.
  34. Por ahora no vamos a agregar ni el color ni el texto
  35. del objeto de texto que estamos creando. Eso lo vamos a hacer
  36. mas tarde.
  37. Haciendo click en "OK", vemos el objeto de texto
  38. que aparece ahora en nuestra rutina y si queremos editarlo
  39. simplemente hacemos click en el icono de nuevo y
  40. podemos volver y cambiar nuestro estimulo.
  41. Podriamos querer presentarlo por 4 segundos en vez de 5,
  42. Asi que ya cambiamos asi su presentacion.
  43. Para esta tarea, tambien necesitamos
  44. que los sujetos respondan, asi que agreguemos un teclado
  45. a esta rutina. Lo vamos a llamar "response".
  46. Lo haremos partir tambien en los 0.5 segundos.
  47. No queremos que los sujetos puedan responder antes de
  48. que el estimulo es presentado
  49. Lo hare que tenga duracion infinita.
  50. Si dejamos el espacio en blanco, el teclado
  51. va a estar disponible para siempre.
  52. Vamos a dejar las "allowed keys" (teclas permitidas) como estan.
  53. Vamos a volver a ellas mas tarde,
  54. cuando configuremos nuestros ensayos.
  55. OK. Ahora sabemos que nuestro teclado va
  56. a durar para siempre.
  57. Entonces, asi es como se va a ver un ensayo en terminos generales
  58. para la tarea "Stroop". Pero necesitamos, obviamente, correr
  59. mas de un ensayo y por ahora tenemos esta
  60. rutina apareciendo solamente una vez en nuestro flujo.
  61. Insertemos un loop sobre el ensayo
  62. para que podamos repetirlo
  63. Si hago click en "Insert Loop" (insertar loop) una sola vez,
  64. y selecciono, de nuevo con un solo click,
  65. donde quiero que el loop comience y termine,
  66. Se abre una ventana, preguntando
  67. como le llamare a este loop.
  68. Le vamos a poner "trials", bien simple.
  69. Debiera ser "random" (aleatorio) o "sequential" (secuencial) en elegir la siguiente condicion?
  70. Digamos aleatorio.
  71. Tendremos cinco repeticiones, y tendremos
  72. que ir y especificar nuestro "archivo de condiciones".
  73. Ahora, notemos que esta preguntando por un ensayo,
  74. un archivo que puede ser CSV o XLSX. Tenemos que salir e
  75. ir a Excel para crear nuestro archivo de condiciones.
  76. Y hacer click en "OK". Veras que Psychopy insertara
  77. un loop sobre el trial.
  78. Grabemos ahora el experimento
  79. para que no lo perdamos.
  80. Grabado. Voy a crear una nueva carpeta en
  81. mi escritorio que voy a llamar "Stroop" y
  82. al archivo "Stroop Experiment".
  83. OK.
  84. La forma mas simple de definir condiciones
  85. para tu experimento es usar una tabla
  86. de Excel.
  87. Asi podemos crear los parametros para
  88. nuestro experimento, como la palabra que
  89. vamos a presentar, o el color que
  90. tendra la palabra, y asi podemos crear
  91. distintas condiciones. Especificamos una
    por fila.
  92. Para la tarea "Stroop", podemos por ejemplo
    usar la palabra "red"
  93. escrita en rojo. Tambien podemos tener
    la palabra "red" escrita
  94. en verde. Podemos tener la palabra "green"
  95. escrita en verde, etc.
  96. "Green" en azul. "Blue" en azul.
    "Blue" en rojo.
  97. Voy a llevar un registro acerca
  98. de si son o no congruentes.
    No necesitamos hacerlo ahora.
  99. Siempre se puede dejar para despues,
    pero es
  100. conveniente tenerlos grabados.
  101. Entonces, a congruente le doy,
    digamos, el valor "1"
  102. que significa "true" (verdadero)
    y "0" para "false" (falso).
  103. Esto va a ser util mas adelante.
  104. Ahora necesitamos especificar
    cual es
  105. la respuesta correcta, porque
    Psychopy querra saber
  106. si el sujeto respondio correctamente o no.
  107. A esto le voy a llamar "corrAns".
  108. Estos parametros no pueden usar ningun
    tipo de puntuacion
  109. o espacio en sus nombres. Asi que voy a
  110. sacarle el espacio y darle
    una letra mayuscula
  111. para especificar la respuesta correcta
  112. En este caso, vamos a usar las
    teclas "left" (izquierda)
  113. "down" (abajo), y "right" (derecha)
    del teclado
  114. Entonces, voy a especificar ese "red"
    y recordemos
  115. que en la tarea "Stroop" a los sujetos
    se les pide
  116. reportar el color del texto antes que
  117. la palabra en si. Entonces, cuando el color es rojo, les voy
  118. a pedir a los sujetos que presionen "left" (izquierda).
  119. Esa es la tecla "left" (izquierda)
  120. Cuando es verde debieran presionar "down" (abajo)
  121. "Down" de nuevo.
  122. Cuando el color es "blue"
    tienen que presionar "right"
  123. "Right" (derecha).
  124. Y ahora me salio "red" de nuevo,
    asi que debieran
  125. presionar "left" (izquierda).
  126. OK. Eso define seis condiciones distintas
  127. para nuestro experimento,
    con cuatro parametros diferentes.
  128. OK. Grabemos el archivo.
  129. Voy a usar la misma carpeta de mi
  130. experimento, aunque no es obligatorio.
  131. Y lo voy a llamar "conditions.xlsx".
  132. Es muy importante que el archivo lo grabes
  133. en formato XLSX. Psychopy no puede usar los
  134. antiguos archivos XLS.
  135. Hacemos click en "Grabar" (Save) y listo.
  136. Ahora tenemos que decirle a PsychoPy donde esta el archivo
  137. y como usarlo durante los ensayos.
  138. La forma de hacerlo es usando el cuadro
    de dialogo loop.
  139. Entonces, si haces click en el loop otra vez
  140. obtendremos las propiedades del loop
  141. y tendremos un archivo de condiciones. Si buscamos,
  142. podemos seleccionar el archivo que acabamos de crear,
  143. lo abrimos, y me dice que hay
  144. seis condiciones con cuatro parametros diferentes.
  145. Los parametros son color ("color"),
    word ("palabra"), congruent ("congruente")
  146. y correct answer ("respuesta correcta").
  147. Ok? Si por alguna razon
    el archivo fuera invalido
  148. tal vez porque dejamos un espacio
    en alguno de los titulos de nuestras columnas
  149. entonces vamos a recibir una advertencia
  150. diciendonos que no vamos a poder usar el archivo
  151. o no nos mostraria los parametros.
  152. Ahora podemos hacer click en "OK". Esta mostrando que
  153. tenemos seis ensayos aleatorios repetidos cinco veces.
  154. Es decir, cinco repeticiones distintas de seis condiciones distintas.
  155. OK, ahora el archivo con las condiciones esta configurado
  156. aqui para que en cada repeticion durante el loop
  157. usemos una fila diferente.
  158. Todavia resta decirle al estimulo que
  159. parametros usar.
  160. Queremos que el color de nuestro estimulo sea determinado
  161. por el parametro color. Aqui he escrito
  162. "$colour", con una "u" porque asi
  163. asi es como lo escribimos en el archivo de Excel.
  164. Y el simbolo "$" es para decirle a Psychopy "Este no es
  165. un valor literal, es una variable."
  166. Ok? Entonces, va a partir y encontrar
  167. una variable llamada "colour" y ver cual es el valor
  168. actual de esa variable.
  169. Va a ser rojo o verde o azul.
  170. Tambien voy a configurarlo para que cambie en cada repeticion
  171. en vez de ser constante.
  172. Ok? No queremos que nuestro estimulo este
  173. fijo en un color en particular para todo el experimento.
  174. De la misma forma, el texto del estimulo "text" debiera ser
  175. la palabra que especificamos en el archivo de Excel
  176. y no debiera ser "word", debiera ser la variable
  177. "word" de modo que vaya y busque esa variable
  178. que va a ser red ("rojo") o green ("verde") o blue ("azul").
  179. Y de nuevo, queremos que cambie en cada repeticion
  180. de esta rutina.
  181. Ok. Tambien necesitamos configurar la respuesta para que este
  182. basada en las condiciones. Por lo tanto tengo que cambiar
  183. las teclas que van a estar permitidas para que
  184. el sujeto responda. No queremos que
  185. usen el yes" o el "no". Queremos que usen
  186. "left", "right" and "down". Asi que noten que todas las teclas
  187. que quiero agregar tengo que separarlas por comas
  188. y tengo que poner comas invertidas alrededor de los nombres
  189. de cada tecla.
  190. Si lo dejo en blanco entonces todas las teclas
  191. estaran disponibles. Ok? Esto le permite al sujeto
  192. presionar cualquier tecla. Tambien tengo aqui "forceEndRoutine"
  193. activado. Dejamos que la respuesta sea
  194. infinita, pero apenas el sujeto presione una tecla
  195. va a forzar el termino del ensayo.
  196. Asi que eso es algo que nos sirve.
  197. Tambien vamos a grabar la respuesta correcta.
  198. De modo que si activo esa opcion, tenemos que decirle a PsychoPy
  199. cual es la respuesta correcta para este ensayo
  200. y su lo recuerdan, esto fue grabado como "corrAns".
  201. De nuevo, necesitamos usar "$corrAns" para especificar
  202. el hecho de que es un nombre de una variable
  203. no debiera ir a buscar una palabra llamada "corrAns"
  204. porque nunca la va a encontrar. Debe usar
  205. la variables variable "corrAns". Y asi estamos listos. OK.
  206. Grabamos. Ok, ya estamos casi listos.
  207. Esto debiera ser ya un experimento funcionando, pero tambien nos gustaria
  208. agregar algunas instrucciones para el sujeto.
  209. Voy a agregar una rutina.
  210. Cuando hago click en ese boton, me muestra la opcion "new"
  211. o "trial". Seleccionemos "new" y llamemosla
  212. "instructions".
  213. Me pregunta donde quiero insertar las instrucciones.
  214. No queremos que las inserte aca porque eso
  215. repetiria las instrucciones en cada ensayo.
  216. Pongamosla antes del loop. Y ahora podemos hacer click
  217. en la rutina de instrucciones y editarla.
  218. Entonces vamos a necesitar otro objeto de texto.
  219. Lo vamos a llamar "instrText",
  220. que empiece en el tiempo cero. Duracion? Lo hacemos infinito.
  221. Color blanco, perfecto. Y le vamos a dar el texto
  222. "Recuerde escoger el color de las letras,
  223. ignorando la palabra:
  224. izquierda=rojo, abajo=verde, derecha=azul
  225. Ok.
  226. Ahora, dado que hemos hecho que el texto dure para siempre
  227. le dimos duracion infinita, necesitamos asegurarnos
  228. de que el sujeto puede deshacerse de el.
  229. Entonces, vamos a hacer click en "keyboard" (teclado)
    y vamos a permitir cualquier tacla
  230. vamos a forzar el termino de la rutina,
  231. y no nos vamos a preocupar de grabar nada
  232. Lo hacemos que dure para siempre.
  233. Ok.
  234. Si te equivocas, debieras siempre poder ser capaz
  235. de presionar "escape" y todavia podras salir
  236. del experimento sin la necesidad
  237. de reiniciar el computador.
  238. Ok, voy a grabarlo de nuevo.
  239. Creo que ya estamos listos.
  240. Ok, echemosle una mirada rapida
  241. al cuadro de dialogo "Experiment Settings".
  242. En este dialogo, podemos controlar cosas como si
  243. el mouse va a estar o no visible durante el experimento,
  244. el color del fondo de pantalla,
  245. si va a presentarse en una ventana o en pantalla completa,
  246. si va a ser en la pantalla 1 o en la pantalla 2, en caso
  247. de que tengas varios monitores, y que tipo de archivos de datos
  248. you want to save out.te gustaria grabar. Asi que un monton
  249. de cosas utiles para controlar tu experimento.
  250. Ahora, en este punto podemos ver el codigo del programa.
  251. Que te va a permitir ir y tal vez aprender un poco
  252. de como funciona Python. Tiene alrededor de 220 lineas
  253. este experimento, asi que no
  254. es un codigo muy complicado. Pero no lo necesitamos.
  255. Podemos en realidad ir y correr el experimento
  256. haciendo click en el hombre verde que aparece corriendo.
  257. A menduo toma algunos segundos, especialmente la primera vez
  258. que el experimento corre. Asi que se paciente con el primero.
  259. Ahi estamos. Tenemos un cuadro de dialogo que aparece
  260. preguntando por el participante y el numero de la sesion.
  261. Eso tambien estaba controlado en
  262. la configuracion de nuestro experimento.
  263. En realidad no voy a correr el experimento.
  264. Eso se los dejo a ustedes.
  265. OK. Encontraron el tutorial util?
  266. Busquen en el menu de Demos mas ideas
  267. y espero que disfruten Psychopy!