[FieldTrip] Beamforming / ft_sourceplot

Brilliant.OE8891 at mh-hannover.de Brilliant.OE8891 at mh-hannover.de
Wed Aug 24 16:00:42 CEST 2022


Dear Fieldtrip Community,

my name is Brilliant.
I am continuing my Time-Frequency Analysis on EEG-Data and am trying to compute the Source Reconstruction with the Beamforming in Fieldtrip.
The EEG-Data I used were collected in experiments, which the participants listened to auditory stimuli and had to respond by pressing one of the two buttons, depending on which stimulus they heard.

Two groups performed this same tasks and the grand-mean results of both groups show a synchronization compared to the baseline in delta-theta region (1-8 Hz) at around 0.4 seconds after the stimulus onset. The Topographic-Map confirmed these activations (see. Figure A. Top). However, the result from the Beamforming shows desynchronization in Group2, which doesn't fit the Topographic-Map and Grand-Mean results (see. Figure A. Bottom). We are not sure where the mistake was. We thought it had something to do with the baseline, but without baseline-contrast, the beamforming result only show activity in central region for all tasks/frequency bands.

I attached the code I use below this mail and appreciate any feedbacks and suggestions.

Thank you and kindest regards,

Brilliant

---

Brilliant, M.Sc.
Pronouns: he, him, his

Medizinische Hochschule Hannover
Institut für AudioNeuroTechnologie (VIANNA)
OE 8891, M20, Ebene 01, Raum 1640
Stadtfelddamm 34
30625 Hannover

Tel.: +49 511 532-1532 (EEG-Labor)
Email: brilliant.OE8891 at mh-hannover.de<mailto:brilliant.OE8891 at mh-hannover.de>
Web: www.neuroprostheses.com<http://www.neuroprostheses.com/>

---

%% SOURCE LOCALIZATION
freqBand        = 'DeltaTheta';
baselineStart   = -0.2;
baselineEnd     = -0.4;
timeStart       = 0.2;
timeEnd         = 0.4;
freqStart       = 1;
freqEnd         = 8;
% Separating Data (pre: Baseline-, post: Activation-period)
cfg = [];
cfg.toilim        = [baselineEnd baselineStart];
dataft_pre        = ft_redefinetrial(cfg, dataft_aktuell);
cfg = [];
cfg.toilim        = [timeStart timeEnd];
dataft_post       = ft_redefinetrial(cfg, dataft_aktuell);
% One Middle Freuency and Multiple Taper
freqMid           = (freqEnd + freqStart)/2;
choosenFreq       = ceil(freqMid);
choosenFreqLim    = [choosenFreq choosenFreq];
taper             = freqEnd - freqMid;
% Time-frequency calculation of Baseline- and Activation-period
cfg = [];
cfg.method        = 'mtmfft';
cfg.output        = 'powandcsd';
cfg.taper         = 'dpss';
cfg.keeptrials    = 'yes';
cfg.tapsmofrq     = taper;
cfg.foilim        = choosenFreqLim;
TFR_pre           = ft_freqanalysis(cfg, dataft_pre);
%---
cfg = [];
cfg.method        = 'mtmfft';
cfg.output        = 'powandcsd';
cfg.taper         = 'dpss';
cfg.keeptrials    = 'yes';
cfg.tapsmofrq     = taper;
cfg.foilim        = choosenFreqLim;
TFR_post          = ft_freqanalysis(cfg, dataft_post);
% Calculating common filter
dataft_prepost = ft_appenddata([], dataft_pre, dataft_post);
cfg = [];
cfg.method        = 'mtmfft';
cfg.output        = 'powandcsd';
cfg.taper         = 'dpss';
cfg.keeptrials    = 'yes';
cfg.tapsmofrq     = taper;
cfg.foilim        = choosenFreqLim;
TFR_prepost       = ft_freqanalysis(cfg, dataft_prepost);
cfg                     = [];
cfg.method             = 'dics';
cfg.frequency          = choosenFreqLim;
cfg.sourcemodel        = leadfield;
cfg.headmodel          = headmodel;
cfg.senstype           = 'EEG';
cfg.dics.projectnoise  = 'yes';
cfg.dics.lambda        = lambda;
cfg.dics.keepfilter    = 'yes';
cfg.dics.realfilter    = 'yes';
source_prepost          = ft_sourceanalysis(cfg, TFR_prepost);
% Source calculation
cfg                     = [];
cfg.method              = 'dics';
cfg.frequency           = choosenFreqLim;
cfg.sourcemodel         = leadfield;
cfg.headmodel           = headmodel;
cfg.senstype            = 'EEG';
cfg.dics.projectnoise   = 'yes';
lambda = '10%';         % Defining Lambda
cfg.dics.lambda         = lambda;
cfg.dics.keepfilter     = 'yes';
cfg.dics.realfilter     = 'yes';

cfg.sourcemodel.filter  = source_prepost.avg.filter;
source_pre_mcon         = ft_sourceanalysis(cfg, TFR_pre);
source_post_mcon        = ft_sourceanalysis(cfg, TFR_post);
source_diff             = source_post_mcon;
source_diff.avg.pow     = (source_post_mcon.avg.pow - source_pre_mcon.avg.pow) ./ source_pre_mcon.avg.pow;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20220824/fe5cab44/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: A_DeltaTheta_Group1andGroup2_TopoBeam_220824.jpg
Type: image/jpeg
Size: 143071 bytes
Desc: A_DeltaTheta_Group1andGroup2_TopoBeam_220824.jpg
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20220824/fe5cab44/attachment-0001.jpg>


More information about the fieldtrip mailing list