EXP programs: Difference between revisions

From biophysics
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 14: Line 14:
==EXP framework==
==EXP framework==


The EXP framework consists of over 200 files and is written in the Object Oriented Programming (OOP) paradigm.


The main classes in the EXP framework are:
The main classes in the EXP framework are:
Line 25: Line 26:
     EXP_gui
     EXP_gui


*All lab programs uses the same GUI that is always responsive and displays sounds, sound locations, led locations and acquisition results like head movements for every trial.
*These EXP_ classes and a few others are the templates for building a lab specific program.
 
*All programs use the same GUI that is always responsive and displays sounds, sound locations, led locations and acquisition results for every trial.


*In the GUI you select an .exp file specifies the whole experiment.
*In the GUI you select an .exp file specifies the whole experiment.
Line 31: Line 34:
*The program outputs a .mat file for every trial (and block) with a struct called 'trialInfo'.
*The program outputs a .mat file for every trial (and block) with a struct called 'trialInfo'.


*There is no need for the experimenter to do any programming.
*There is no need for the experimenter to do any Matlab programming.


==Lab program example==
==Lab program example==
Line 37: Line 40:
An example of a Lab program is the TestLabProgram. All programs have the same basic structure:
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.  
A few 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);
     programPar      = TL_programParameters;
     hardwareSystems = TL_hardwareSystems(programPar);                       
     hardwareSystems = TL_hardwareSystems(programPar);                       
     experiment      = TL_experiment(programPar);             
     experiment      = TL_experiment(programPar);             
     trialRecordings = TL_recordingsHandler(programPar, experiment, hardwareSystems);     
     trialRecordings = TL_recordingsHandler(programPar, experiment, hardwareSystems);     
     player          = TL_experimentPlayer(hardwareSystems, trialRecordings, programPar, experiment);
     player          = TL_experimentPlayer(hardwareSystems, trialRecordings, programPar, experiment);
     guihandler     = TL_guiHandler(player, programPar, experiment, hardwareSystems);
     guiHandler     = TL_guiHandler(player, programPar, experiment, hardwareSystems);


At last a GUI is launched with a link to the guihandler object.
At last a GUI is launched with a link to the guihandler object.
      
      
     TL_Gui(guihandler);
     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 ...

Latest revision as of 07:51, 17 August 2026

Introduction

EXP programs are MATLAB programs for each auditory lab with an RZ6 DSP. The software is 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 following programs are available:

  • TL_Program for the test lab
  • PL_Program for the auditory perception lab (patient lab)
  • EG_Program for the EEG/NIRS lab
  • RA_Program for the auditory persuit lab (robot arm)
  • VC_Program for the vestibular chair lab

EXP framework

The EXP framework consists of over 200 files and is written in the Object Oriented Programming (OOP) paradigm.

The main classes in the EXP framework are:

   EXP_programParameters
   EXP_hardwareSystems 
   EXP_experiment
   EXP_recordingsHandler 
   EXP_experimentPlayer
   EXP_guiHandler
   EXP_gui
  • These EXP_ classes and a few others are the templates for building a lab specific program.
  • All programs use the same GUI that is always responsive and displays sounds, sound locations, led locations and acquisition results for every trial.
  • In the GUI you select an .exp file specifies the whole experiment.
  • The program outputs a .mat file for every trial (and block) with a struct called 'trialInfo'.
  • There is no need for the experimenter to do any Matlab programming.

Lab program example

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

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

   programPar      = TL_programParameters;
   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);