[FieldTrip] Beamformer source localization for EEG, template MRI & standard BEM
fosco bernasconi
fosco.bernasconi at gmail.com
Wed Mar 2 15:29:53 CET 2016
Dear all,
I'm trying to compute source localization (to eventually do some
connectivity in the source space) on my EEG data, using template mri and
standard bem.
I have few errors:
1. When computing the leadfield:
Warning: dipole lies on boundary of volume model
> In forward/private/inf_medium_leadfield at 54
In forward/private/eeg_leadfieldb at 93
In ft_compute_leadfield at 442
In ft_prepare_leadfield at 222
2. I tried to discard this error, I cannot compute the source localization:
Error using svd
Input to SVD must not contain NaN or Inf.
Error in beamformer_dics>pinv (line 643)
[U,S,V] = svd(A,0);
Error in beamformer_dics (line 336)
filt = pinv(lf' * invCf * lf) * lf' * invCf; % Gross
eqn.
3, use PINV/SVD to cover rank deficient leadfield
Error in ft_sourceanalysis (line 657)
dip(i) = beamformer_dics(grid, sens, headmodel, [],
squeeze(Cf(i,:,:)), optarg{:});
According to previous posts, the second error might be due to labeling of
the electrodes. But the labels are ok, and I can make everything work when
using the mne (by adapting the script of course) instead of beamforming.
Therefore, I think the problem is more related to some of the previous
steps.
Here my code:
cfg = [];
cfg.method = 'mtmfft';
cfg.output = 'powandcsd';
cfg.keeptrials = 'yes';
cfg.tapsmofrq = 2
cfg.foi = 10;
freq = ft_freqanalysis(cfg,dataft);
% read electrodes
elec =
ft_read_sens('/home/sv/Matlabtoolboxes/fieldtrip-20160223/template/electrode/biosemi64_1.sfp');
elec = ft_convert_units(elec,'cm');
% Load mri:
mri =
ft_read_mri('/home/sv/Matlabtoolboxes/fieldtrip-20160223/external/spm8/templates/T1.nii');
mri = ft_convert_units(mri,elec.unit);
% Load headmodel:
load('/home/sv/Matlabtoolboxes/fieldtrip-20160223//template/headmodel/standard_bem.mat');
vol = ft_convert_units(vol,elec.unit);
[vol, sens] = ft_prepare_vol_sens(vol,elec);
% Load sourcemodel:
load('standard_sourcemodel3d8mm.mat');
% Compute LeadField
cfg = [];
cfg.channel = 'eeg';
cfg.elec = sens;
cfg.headmodel = vol;
grid = ft_prepare_leadfield(cfg,freq);
% Compute Source:
cfg = [];
cfg.method = 'dics';
cfg.grid = grid;
cfg.vol = vol;
cfg.keeptrials = 'yes';
cfg.pcc.lambda = '5%';
cfg.pcc.projectnoise = 'yes';
source = ft_sourceanalysis(cfg,freq);
any help is appreciated
thanks a lot!
fosco
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20160302/0ac0c59e/attachment-0001.html>
More information about the fieldtrip
mailing list