EXP programs: Difference between revisions

From biophysics
Jump to navigation Jump to search
Line 18: Line 18:
     EXP_eventRecorder  
     EXP_eventRecorder  
     EXP_DCN_ledController
     EXP_DCN_ledController
Each lab program has a dedicated GUI that is always responsive and displays sounds, sound locations, led locations and acquisition results like head movements for every trial.
In each program GUI you select an experiment file that can consist of several blocks with trials.
The program outputs a .mat file for every trial with a struct called 'trialInfo'.


==Lab program example==
==Lab program example==

Revision as of 12:29, 23 April 2025

Introduction

EXP programs are MATLAB programs for each auditory lab based on the EXP framework. The EXP framework is a MATLAB toolbox developed by Ruurd Lof. The framework is a collection of classes and functions that are the basis for Lab programs. The toolbox is mainly programmed object oriented programming style. It is modular with respect to the hardware that can be used.

Each lab program is created by defining a gui and a few sub classes of certain classes in the EXP framework.

The main classes in the EXP framework are:

   EXP_programParameters
   EXP_hardwareSystems 
   EXP_experiment
   EXP_recordingsHandler 
   EXP_experimentPlayer
   EXP_guiHandler

Other classes represent hardware that can be used in the experiment:

   EXP_bioxSystem
   EXP_eventRecorder 
   EXP_DCN_ledController

Each lab program has a dedicated GUI that is always responsive and displays sounds, sound locations, led locations and acquisition results like head movements for every trial.

In each program GUI you select an experiment file that can consist of several blocks with trials.

The program outputs a .mat file for every trial with a struct called 'trialInfo'.

Lab program example

An example of a Lab program is the TestLabProgram. All programs have the same basic structure:

Six objects (TestLab classes are starting with TL_) are created in a fixed order and linked by passing references to the objects.

   programPar      = TL_programParameters(version);
   hardwareSystems = TL_hardwareSystems(programPar);                      
   experiment      = TL_experiment(programPar);             
   trialRecordings = TL_recordingsHandler(programPar, experiment, hardwareSystems);     
   player          = TL_experimentPlayer(hardwareSystems, trialRecordings, programPar, experiment);
   guihandler      = TL_guiHandler(player, programPar, experiment, hardwareSystems);

At last a GUI is launched with a link to the guihandler object.

   TL_Gui(guihandler);

Program parameters

The programPar object ....

Hardware systems

The hardwareSystems object ....

Experiment

The eperiment object ....

Trial recordings

The trialRecordings object ....

Experiment player

The experimentPlayer object ....

Gui handler

The guiHandler object ....

The GUI

The Gui object ...