Export Single Trial Data
Contents
Rationale
This article describes how to export single-trial EEG or MEG raw data for further analysis in an external program, e.g. in Matlab.
Steps to follow
1 Load data in BESA
The data are then displayed in the review window. Now you can either
- use the ERP module to define a condition and reject any trials with artifacts (see the BESA Help section on ERP for more information), or
- directly move to the export of all epochs around a particular trigger.
2 Export data from BESA
Select "File -> Export...". The export dialog opens:
Make sure that the options "Epochs around triggers" and "Original data" are selected. In the section "Target formats", choose the option of choice:
- If you want to create ASCII files for offline analysis, select "ASCII multiplexed" or "ASCII vectorized"
- If you want to analyze data directly in Matlab, select "Send to MATLAB"
For the "Interval..." select a long enough time span as shown in figure 2:
Then click the "Triggers..." button to select which trigger code or condition will be used. If you want to export the epochs around a trigger code: Make sure that the trigger code you want is selected - e.g. the trigger code 1 in this example.
If you want to export the epochs around a condition: Check the box "Conditions". Then ensure that the condition of choice is selected (e.g. condition "Rare" in the example.
After clicking "OK" BESA Research either exports the data, or - if that option was chosen - sends the data to Matlab. In case of Matlab, it opens the Matlab window and creates the structure "besa_channels". From Matlab save the structure as "besa_channels.mat".
3 Data in Matlab
The Matlab structure "besa_channels" contains several fields like in the following example of a 64-channel EEG file with 39 trials that survived the artifact scan:
datafile: [1x93 char] channeltypes: {1x64 cell} channellabels: {1x64 cell} channelunits: {1x64 cell} channelcoordinates: [64x9 double] montage: 'Original' filters: 'Filters off' samplingrate: 100 HSPcoordinates: [3x3 double] HSPtypes: {'Fiducial' 'Fiducial' 'Fiducial'} HSPlabels: {'FidNz' 'FidT9' 'FidT10'} headcenter: [-0.0020 8.1247e-004 0.0291] headradius: 0.1021 electrodethickness: 0 structtype: 'besa_channels' datatype: 'Epoched_Data' data: [1x39 struct]
The sub-structure data contains the latencies and the measured amplitudes for each channel and trial:
besa_channels.data
ans =
1x39 struct array with fields:
amplitudes timeoffsetsecs latencies event