[FieldTrip] Beamforming: Scalp vs. Source mismatch

"Jörn M. Horschig" jm.horschig at donders.ru.nl
Tue Sep 10 17:26:26 CEST 2013


Dear Ulrich,

as no one dared to respond, yet, I can add my 2 cents. I am afraid they 
won't help much though ;) Also, I am not in expert in EEG source 
reconstruction, so I have no good intuition how EEG activity should 
translate to the source space.

First of all, it might be good to verify the coordinate system you are 
in, i.e. is left in your source plot really left. Next, you could try to 
check whether the coordinate systems are set correctly - if the 
coordinate systems are screwed up, this can result in nasty 90 degrees 
of more complex rotations of your data. This all, however, would not 
explain why the topographies match for some subjects better than for 
others. But maybe you can share part of the pipeline for creating the 
forward model and give us a glimpse of the resulting structures? 
Although it looks like the forward model does line up well, since 
there's nothing else to fuss about, it's the only hunge I got right now. 
Alternatively, maybe parameters for the topo plotting are still 
different from the source plotting, so it might also help to show us the 
calls and cfg-settings for the plotting routine

In addition, I can see that you do not set cfg.keeptrials='yes' when 
computing the FFT of your data. I don't immediately see why that would 
solve the discrepancy between sensor- and source-level, but it might 
help to get a better estimate anyway (so that variance over trials can 
be taken into account). Maybe you just didn't do anything wrong, and 
this is just the step missing to get a more trustworthy result?

I hope any of this helps, and otherwise that someone else is of more help ;)

Best,
Jörn

On 9/6/2013 4:42 PM, Pomper, Ulrich wrote:
> Dear fieldtrip community,
> In my data I found a disconcerting mismatch between EEG scalp topographies and corresponding beamforming solutions, both on the subject and group average level.
> I understand that there might not be a perfect match between source and scalp, but I would expect at least a little resemblance.
>
> As an example, the link below features topos and source plots from an event-related beta-band decrease after a short tactile stimulation to the left index finger.
> Further below you can find the code I used for the beamforming. (Note that the topos were created from the ft_freqanalysis command within the beamforming script, so baseline and poststimulus data are exactly the same for both source and scalp-level data).
>
> Eight out of 13 subjects show practically no match between source and scalp. On the group average level, the source solution shows a left-anterior decrease which seems not present in the scalp data. Also, the right heispheric decrease at the scalp shifts from central to more posterior sites, which doesn't fit with it beeing of somatosensory origin anymore.
>
> I’d appreciate any comments on my data, as well as suggestions on how to proceed  to get a more trustworthy source solution to my beta-band decrease.
> Cheers,
> Ulrich
>
>
> Exemplary plots: https://www.dropbox.com/s/git4w8u3a901l3w/source_vs_scalp.pdf
>
> % Beamforming code %
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
> foi = 20;
> tapsmofreq = 5;
> toi_pre = [-.4 -.2];
> toi_post = [.15 .35];
> lambda = '5%';
>          
>          %% cut data and append for common filters
>          cfg = [];
>          cfg.toilim = toi_pre;
>          dataPre = ft_redefinetrial(cfg, data);
>          
>          cfg.toilim = toi_post;
>          dataPost = ft_redefinetrial(cfg, data);
>          
>          dataAll = ft_appenddata([], dataPre, dataPost);
>          
>          %% Calculate common CSD
>          
>          cfg = [];
>          cfg.method    = 'mtmfft';
>          cfg.output    = 'powandcsd';
>          cfg.tapsmofrq = tapsmofreq;
>          cfg.foilim    = [foi foi];
>          freqAll = ft_freqanalysis(cfg, dataAll);
>          
>          %% Calculate CSD for seperate conditions
>          
>          cfg = [];
>          cfg.method    = 'mtmfft';
>          cfg.output    = 'powandcsd';
>          cfg.tapsmofrq = tapsmofreq;
>          cfg.foilim    = [foi foi];
>          freqPre = ft_freqanalysis(cfg, dataPre);
>          
>          cfg = [];
>          cfg.method    = 'mtmfft';
>          cfg.output    = 'powandcsd';
>          cfg.tapsmofrq = tapsmofreq;
>          cfg.foilim    = [foi foi];
>          freqPost = ft_freqanalysis(cfg, dataPost);
>          
>          %% Source Analysis
>          
>          cfg              = [];
>          cfg.method       = 'dics';
>          cfg.frequency    = foi;
>          cfg.grid         = lf_126;
>          cfg.vol          = vol;
>          cfg.dics.projectnoise = 'no';
>          cfg.dics.lambda       = lambda;
>          cfg.dics.keepfilter   = 'yes';
>          cfg.dics.realfilter   = 'yes';
>          
>          sourceAll = ft_sourceanalysis(cfg, freqAll);
>          
>          %% apply common filter to seperate conditions
>          
>          cfg.grid.filter = sourceAll.avg.filter;
>          
>          sourcePre  = ft_sourceanalysis(cfg, freqPre);
>          sourcePost = ft_sourceanalysis(cfg, freqPost);
>          
>          %% Relchange from baseline
>          
>          sourceDiff = sourcePost;
>          sourceDiff.avg.pow = (sourcePost.avg.pow - sourcePre.avg.pow) ./ sourcePre.avg.pow;
>          
>          
>
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip


-- 
Jörn M. Horschig
PhD Student
Donders Institute for Brain, Cognition and Behaviour
Centre for Cognitive Neuroimaging
Radboud University Nijmegen
Neuronal Oscillations Group
FieldTrip Development Team

P.O. Box 9101
NL-6500 HB Nijmegen
The Netherlands

Contact:
E-Mail: jm.horschig at donders.ru.nl
Tel:    +31-(0)24-36-68493
Web: http://www.ru.nl/donders

Visiting address:
Trigon, room 2.30
Kapittelweg 29
NL-6525 EN Nijmegen
The Netherlands




More information about the fieldtrip mailing list