[Eeglablist] ERP statistics and scalp maps of difference waves

Dörte Spring doerte.kuhlicke at nat.uni-magdeburg.de
Tue Nov 14 13:14:58 PST 2006


Dear Stefan and EEGLABler,

thanks so much for the immediate and detailed answer as well as the
attached mapping code.

Nevertheless, I have detected another problem doing the dipols on raw
ERPs. As I tried to follow the EEGLAB manual instructions I noticed that
ICA weights are still necessary, at least to determine the spherical
model for dipfit. Is that correct?
However, then I tried to use ICAs for this model specification.
Unfortunately, it did not work. EEGLAB (5.03; in Matlab 7.0.4.352 (R14)
Service Pack 2) gave an error (see attached pdf - first page) in the
second step "Coarse fit". Thus, I dared bravely to run the script for
ERP dipoles described in the manual. Thereby, I realized that some of
the needed functions like  "dipfit_erpeeg.m" were missing. I put a
screen shot of all my plugins/dipfit2.0 and all function files in the
attached pdf as well (second page). Or could I find this missing file
maybe elsewhere? At first I thought my eeglab version is not properly
installed, but nothing changed with a new download and installation.


I really appreciate any tips.

Best regards,

Doerte



Stefan Debener wrote:
> Dear Doerte,
>
> yes, it's all possible with EEGLAB, but requires some scripting 
> skills. So, the easiest way to do ERP statistics may be to export your 
> ERP data to SPSS or SAS and define time windows, peak latencies etc. 
> there. To do this, go to 'File' > 'Export' > 'Export data and ICA 
> activity to text file', and tick the box 'Export ERP average instead 
> of single trials'. This is also the easiest way to export your ERP 
> data into other software such as BESA. Also, check out the EEGLAB 
> plug-ins (e.g. those from Andreas Widmann), some have been designed 
> specifically to ease ERP analysis and may come with a nice gui.
>
> Regarding the maps, I have attached a little piece of code below. This 
> code assumes that you have loaded two datasets into EEGLAB (dataset 
> 1=condition 1, dataset 2=condition 2), that these two conditions have 
> the same number of frames per epoch (and same epoch start-stop time) 
> and that you want to plot maps for a mean interval (t1 to t2) maps. It 
> plots the map for each condition (average across interval), and the 
> resulting difference map. Look up the help message of topoplot.m for 
> more options on how to plot nice maps. Also, be careful with the 
> interpretation of difference maps. We always plot the difference map 
> together with the single condition maps. Difference maps can be quite 
> misleading, in particular if the two maps you are subtracting are 
> different in 'shape', and not only in 'strength' (amplitude).
>
> If you want to do a dipole source analysis of ERPs or ERP difference 
> maps instead of ICA weights, you can do this with EEGLAB/DIPFIT as 
> well. Again, it requires some scripting, and is described in detail in 
> the EEGLAB manual. You may also download Patrick Berg's 
> DipoleSimulator (www.besa.de), it's a powerful and easy to use free 
> windows software allowing you to play a bit with how different source 
> configurations (number, location, orientation) affect the resulting 
> voltage maps - very instructive.
>
> Best,
> Stefan
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> %start-stop interval (in ms)
> t1 = 200;
> t2 = 300;
>
> % find corresponding data frames. Code adapted from
> % Robert Oostenvelds function nearest.m
> % Copyright (C) 2002, Robert Oostenveld
> [mindist, t1] = min(abs(ALLEEG(1).times - t1));
> [mindist, t2] = min(abs(ALLEEG(1).times - t2));
>
> % voltage for each electrode, mean across interval and trials
> data1 = mean(mean(ALLEEG(1).data(:,t1:t2,:),3),2);
> data2 = mean(mean(ALLEEG(2).data(:,t1:t2,:),3),2);
>
> %map scale (in uV)
> scale = [-4 4];
>
> %plot figure
> figure;
> subplot(1,3,1);
> topoplot(data1,EEG.chanlocs, 'maplimits', scale);
> title('cond 1');
> subplot(1,3,2);
> topoplot(data2,EEG.chanlocs, 'maplimits', scale);
> title('cond 2');
> subplot(1,3,3);
> topoplot([data1-data2],EEG.chanlocs, 'maplimits', scale);
> title('difference: 1-2');
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
>
>
>
>
>
>
>
>
>
> Dörte Spring wrote:
>> Dear EEGLABler,
>>
>> I'm right now at the point in data analysis where I'd like to do some
>> statistical analyis as well. My interests lies on ERP and their
>> components rather than ICA components. Thus, I was wondering whether
>> there are included some tools for this in EEGLAB that I could use. Im
>> interested in things like differences in peak amplitude, or peak
>> latencies for specified ERP components in a certain time window (by
>> ANOVA for example).
>>
>> I also would like to support significant results of this analysis by
>> scalp maps of the analyzed component's difference wave. Is there a way
>> in EEGLAB, too, to do that? So far I only have seen the option to topo
>> plot a component of a single condition, but not the difference potential
>> between two conditions.
>>
>> Because all good things come in three, I have another question: Can one
>> also determine dipoles in EEGLAB withouth ICAs by just using the
>> difference wave potential in a specific time frame?
>>
>> Any suggestions are welcome.
>>
>> Best regards,
>>
>> Doerte
>>
>>   
>
>
>
>

-- 
Doerte K. Spring, Dipl.-Psych.
Visiting Scholar
NMSU - Las Cruces, NM

E-mail:  Doerte.Kuhlicke at Nat.Uni-Magdeburg.de
Tel:     ++1 915 539 7312

www: http://www.uni-magdeburg.de/ipsy/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: EEGLAB error.pdf
Type: application/pdf
Size: 360699 bytes
Desc: not available
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20061114/03a571ab/attachment.pdf>


More information about the eeglablist mailing list