[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-0001.html>
More information about the fieldtrip
mailing list