[FieldTrip] Source analysis of EEG oscillatory activity/ NaN values in the leadfield matrices

Azadeh Hajihosseini azadehh at uvic.ca
Sat Jul 19 00:26:06 CEST 2014


Hello FieldTrip members,

I am trying to source localize EEG oscillatory activity and have a few
problems in constructing the forward model and eventually running the
source analysis. I think the problems are related to each other. Here is
what happens:

1- When I run the source analysis, I get this error message:

*??? Error using ==> svd*
*Input to SVD must not contain NaN or Inf.*

*Error in ==> beamformer_dics>pinv at 650*
*  [U,S,V] = svd(A,0);*

*Error in ==> beamformer_dics at 339*
*        filt = pinv(lf' * invCf * lf) * lf' * invCf;              % Gross
eqn. 3, use PINV/SVD to cover rank*
*        deficient leadfield*

*Error in ==> ft_sourceanalysis at 572*
*      dip(i) = beamformer_dics(grid, sens, vol, [],  squeeze(Cf(i,:,:)),
optarg{:});*

*Error in ==> test_sourceanalysis at 12*
*sourceTF = ft_sourceanalysis(cfg, data_TF);*


2- Checking the leadfiled matrices, I see there are a lot of NaN values.
3- When I visualize the head model I have created, the plots don't look
right. The third field, *vol.bnd(3),* which is supposed to be the brain
tissue, looks like a cube.

And here are my code lines:

*% CONSTRUCT A HEAD MODEL from the template mri in FT's template/anatomy*
*mri = ft_read_mri('template\anatomy\single_subj_T1.nii');*
*mri.coordsys = 'spm';*

 *%SEGMENTATION:*
*cfg           = [];*
*cfg.output    = {'brain','skull','scalp'};*
*segmentedmri_template  = ft_volumesegment(cfg, mri); % Using NOT resliced
data*
*save segmentedmri_template segmentedmri_template*


*%CREATE THE HEAD MODEL (VOLUME CONDUCTION MODEL)*
*cfg        = [];*
*cfg.method ='bemcp';*
*cfg.tissue ={'brain','skull','scalp'};*
*% cfg.outputfile = 'template_';*
*vol        = ft_prepare_headmodel(cfg, segmentedmri_template);*
*save vol vol*

*%Visualization of the head model*
*figure;*
*ft_plot_mesh(vol.bnd(1),'facecolor','none'); %scalp *
*figure;*
*ft_plot_mesh(vol.bnd(2),'facecolor','none'); %skull*
*figure;*
*ft_plot_mesh(vol.bnd(3),'facecolor','none'); %brain This one looks like a
cube*

*% Align electrodes  *
*elec = ft_read_sens('template\electrode\standard_1020.elc');   *
*% load volume conduction model*
*% load vol;                              *

*%interactive allignment*
*cfg           = [];*
*cfg.method    = 'interactive';*
*cfg.elec      = elec;*
*cfg.headshape = vol.bnd(1);*
*elec_aligned  = ft_electroderealign(cfg);*

*save elec_aligned elec_aligned*

*% Prepare leadfield*
*load data_TF*
*cfg=[];*
*cfg.vol           = vol; %structure with volume conduction model*
*cfg.elec          = elec_aligned;%structure with electrode positions*
*[grid] = ft_prepare_leadfield(cfg, data_TF);*

*% Find source*
*cfg              = []; *
*cfg.method       = 'dics';*
*cfg.frequency    = 25;  *
*cfg.grid         = grid; *
*cfg.vol          = vol;*
*cfg.latency       = .4;%single number in seconds, for time-frequency
analysis*
*cfg.dics.projectnoise = 'yes';*
*cfg.dics.lambda       = 0;*
*cfg.elec          = elec_aligned;%structure with electrode positions*

*sourceTF = ft_sourceanalysis(cfg, data_TF);*


I am using *wavelet *with a *fourier* output for the time-frequency
analysis (*data_TF)*. Do you have any idea what might be wrong here?

I also have a more general question. What type of time-frequency data can
be input to source analysis? *ft_freqanalysis* provides power, power and
cross-spectra, and complex fourier outputs. But is source-localization
based on only power data correct? I couldn't find any explanations
regarding this issue in the tutorial.

I look forward to hearing from anyone who might have ideas about any of
these issues!

Many thanks,

-- 
Azadeh HajiHosseini
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20140718/5af1f1be/attachment.html>


More information about the fieldtrip mailing list