EXP programs: Difference between revisions
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
!!!!SOME PROGRAMS ARE STILL IN DEVELOPMENT!!!! | |||
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. | 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. | 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 | |||
*MO_Program for mobile applications (labtop with soundcard and eventrecorder) | |||
*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 main classes in the EXP framework are: | The main classes in the EXP framework are: |
Latest revision as of 12:44, 22 August 2025
Introduction
!!!!SOME PROGRAMS ARE STILL IN DEVELOPMENT!!!!
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 following programs are available:
- TL_Program for the test lab
- MO_Program for mobile applications (labtop with soundcard and eventrecorder)
- 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 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 ...