Usuario:JAGT/Presentation

Introducción editar

Documentación en castellano sobre el programa Presentation de Neurobehavioral Systems.

Esta guía es escrita conforme van surgiendo dudas y problemas, no es una traducción oficial de cabo a rabo.

Descarga y Licencia editar

La web oficial para descargar el software Presentation es la siguiente:

Vamos a "Try Presentation Free" (Probar Presentation Gratis).

Nos pedirá crear una cuenta en NEUROBS, que requiere unos datos simples (nombre, apellidos, e-mail y organización a la que pertenecemos).

El dato más importante en este formulario es el correo electrónico, ya que nos enviarán una confirmación con una contraseña generada al azar.

El correo y la contraseña son necesarios para poder usar el Presentation durante 30 días gratis (se puede renovar la licencia registrandose con otro e-mail).

Requisitos del sistema editar

  • Sistema Operativo: Windows XP, Vista o 7
  • DirectX 8 o superior
  • Soporte de Video y Sonido
  • Soporte de entrada (teclado)

Estructura de un Escenario editar

Jerárquicamente, los experimentos en Presentation se organizan en:

Experimento editar

Un experimento es un fichero (.exp) que contiene varios escenarios.

Normalmente un experimento tiene un solo escenario, pero a veces se programan protocolos de tareas que se administran de una forma ordenada a los sujetos, por lo que cada tarea sería un escenario, y el experimento recoge el orden de los diferentes escenarios.

Escenarios editar

Un escenario es una tarea. Se entiende por escenario, entendido desde el Presentation, a una serie de estímulos ordenados.

Estímulos editar

Los estímulos se definen en primer lugar, para luego ser organizados en un escenario.

Hoy por hoy, Presentation admite un amplio rango de estímulos, como pueden ser imágenes, sonidos...

Escribiendo Escenarios (SDL) editar

Primeros conceptos editar

Ya hemos definido que un escenario es un conjunto de estímulos ordenados.

El fichero del escenario (.sce) contiene la definición de todos los estímulos que aparecerán en el experimento, y después la organización en la que irán apareciendo.

Todo esto se escribe en el fichero ".sce" utilizando el Lenguaje de Programación SDL.

El lenguaje SDL es un lenguaje muy sencillo, pensado para realizar tareas de bloques fijos, y que consiste en una serie de instancias o etiquetas que definen los elementos que tendrá nuestro experimento, y cuyas propiedades se definirán dentro de llaves del tipo { }.

Este tipo de lenguaje es tan simple que es recomendado comenzar aprendiendo a realizar estos elementos u objetos. En el ámbito de la programación, podríamos entender que estamos programando OBJETOS con SDL.

Al ejecutar el experimento, los elementos irán apareciendo en el orden exacto en el cual se han escrito en el editor.

Cabecera (Header) editar

En primer lugar, en un fichero .sce vamos a definir las VARIABLES GLOBALES del experimento. Estas variables influirán en todo el experimento, y todo lo que escribamos estará influido por defecto, a no ser que se diga lo contrario, por estas variables. Son como las normas universales que gobernarán el experimento.

Estas variables se escriben al principio del experimento, y finalizan en el momento que se escribe "begin;".

En la cabecera se define especialmente qué botones van a estar operativos durante el experimento, y que servirán al sujeto para dar su respuesta.

Todas las variables que no se definan en esta sección, tendrán un valor por defecto.

Para ver una lista de variables que se definen en el Header, ver la sección Usuario:JAGT/Presentation/Header

Contenido (SDL) editar

Una vez que hemos definido las VARIABLES GLOBALES en el escenario, pasamos a especificar los objetos que constan en nuestro experimento.

Para comenzar esta parte, escribiremos:

begin;

A partir de aquí escribiremos, en primer lugar, la ruta a todos los estímulos, especificando de qué tipo son.

En segundo lugar, escribiremos los ENSAYOS (trials) que son las diferentes pantallas con los estímulos pertinentes.

Plantillas (Templates) editar

A veces un ensayo tiene que repetirse una y otra vez, modificando únicamente el estímulo que se presenta.

Por ello, se hace necesario alguna forma para no tener que escribir el mismo "trial" una y otra vez, con los mismos parámetros, y que sólo cambie el estímulo que se presenta.

La solución a este problema son los TEMPLATES. En programación sería el equivalente a crear una función que realice todos los comandos pertinentes, y llamar a esta función cada vez que sea necesario sin tener que escribir los comandos una y otra vez.

Los templates se definen en ficheros con la extensión .tem, y contienen el ensayo estándar que se utilizará repetitivamente. Los parámetros que varíen se escribirán en forma de variables locales ($variable).

Ejemplo de un ensayo.tem:

trial {
}

Una vez que tenemos definido el template, desde el escenario podemos llamarlo definiendo las variables pertinentes.

Scripts (PCL) editar

A parte del lenguaje SDL, que ya hemos dicho que en términos de programación, podríamos considerarlo OBJETOS, existe la posibilidad de implementar otro lenguaje mucho más potente, pero algo más complejo, denominado PCL.

El PCL es un lenguaje de programación del tipo scripting (por lo que si estás familiarizado con otros lenguajes de scripting, como Java, te resultará sencillo entenderlo).

Para comenzar a escribir en lenguaje PCL, hay que indicar el inicio de este lenguaje en el escenario con la siguiente línea:

begin_pcl;

Si defines el comienzo del lenguaje PCL, entonces el escenario ignorará todo lo que has escrito en SDL. PCL tendrá prioridad a la hora de ejecutarse, y todo lo que has escrito en SDL se convertirá en una mera batería de objetos latente.

Si quieres que esos objetos se ejecuten al iniciar el experimento, deberás indicarlo en el PCL.

Este es un ejemplo de script en PCL que ejecutaría todos los ensayos escritos en la parte de SDL, y que resultaría en mostrar el experimento tal y como se mostraría si no hubiera parte de PCL:

begin_pcl;

loop
	int i = 1
until
	i > trials.count()
begin
	trials[i].present();
	i = i + 1
end

En este script hay varios componentes que se explicarán en los siguientes apartados. De forma resumida y global, lo que hace es recorrer con un bucle todos los elementos del SDL de forma ordenada, en concreto, todos los ensayos, y los ejecuta.

Programación en PCL editar