[Eeglablist] Plots of ERSP significance and 'cbar'

Katherine Naish K.R.Naish at pgr.reading.ac.uk
Sat Aug 17 14:48:59 PDT 2013


Dear Arno and list,

I was hoping someone could advise on the code I am using to plot significant ERSPs for a group of subjects. Based on the code recommended to Alex previously, I am using the following code (to plot significance for a number of channels separately). It seems to be doing what I want it to, apart from the fact that the colour scale is rather crazy (see attached). I've played around with the 'cbar' function but can't figure out how to make it consistent across the different data sets.

figure('Color',[1 1 1]);
for chan=1:length(channels)
    e=channels(chan);
    pvals=std_stat({erspdata{1,1}(:,:,chan,:) zeros(size(erspdata{1,1}(:,:,chan,:))) }', 'method', 'permutation', 'condstats', 'on', 'correctm', 'fdr');
    groupersp=mean(erspdata{1,1}(:,:,chan,:),4);
    maxersp=max(groupersp);
    tmpersp=mean(erspdata{1,1}(:,:,chan,:),4); % average ERSP for all subjects
    tmpersp(pvals{1}>0.05)=0; % zero out non-significant values
    subplot(3,2,chan);
    imagesc(ersptimes, erspfreqs, tmpersp);
    set(gca,'ydir','normal'); xlabel('Time (ms)'); ylabel ('Frequencies (Hz)'); %cbar;
    hold on; title(['Channel ',num2str(e)]);
end


Any help very much appreciated!

Many thanks,
katherine

________________________________
From: eeglablist-bounces at sccn.ucsd.edu [eeglablist-bounces at sccn.ucsd.edu] on behalf of Arnaud Delorme [arno at ucsd.edu]
Sent: 14 January 2013 15:26
To: Aleksandra Vuckovic
Cc: eeglablist
Subject: Re: [Eeglablist] Ploting ONLY stat stignificant ERSP ina study

Dear Aleksandra,

then use the EEGLAB function imagesclogy instead of imagesc

imagesclogy(times, freqs, tmpersp); set(gca, 'ydir', 'log'); xlabel('Time (ms)'); ylabel('Frequencies (Hz)'); cbar; % plot ERSP

Best,

Arno

On 14 Jan 2013, at 05:31, Aleksandra Vuckovic wrote:

Dear Arno,
Thank you very much for the code, it works but I am getting linear frequencies and logarithmic plot. When I compare ERSP figure with the one from GUI, they look the same (apart that values  for p>0.05 are missing) but frequency scales are different. I tired recalculating log10 but frequencies do no match.
I also tired replacing ‘nomal’ with ‘log’ in
 imagesc(times, freqs, tmpersp); set(gca, 'ydir', 'log'); xlabel('Time (ms)'); ylabel('Frequencies (Hz)'); cbar; % plot ERSP
but it only inverts scale from larger to smaller values
Could you please help me to get the right scale?
Many thanks,
Aleksandra
________________________________
From: Arnaud Delorme [mailto:arno at ucsd.edu]
Sent: 13 January 2013 15:55
To: Aleksandra Vuckovic
Cc: eeglab at sccn.ucsd.edu<mailto:eeglab at sccn.ucsd.edu>
Subject: Re: [Eeglablist] Ploting ONLY stat stignificant ERSP ina study

Glad to hear that.
Best regards,

Arno

On 13 Jan 2013, at 05:13, Aleksandra Vuckovic wrote:


Dear Arno
Thanks a lot I think that is exactly what I was looking for
Best regards
Aleksandra

Sent from my iPhone

On 13 Jan 2013, at 06:19, "Arnaud Delorme" <arno at ucsd.edu<mailto:arno at ucsd.edu>> wrote:
Dear Aleksandra,

no that does not change anything. I agree with Makoto that we should find a way to plot difference with baseline in ERSP. It is not too hard from the command line. Afer computing ERSP in the graphic interface for your STUDY, first retrieve ERSP results on one channel.

[STUDY ersp times freqs ] = std_erspplot(STUDY,ALLEEG,'channels',{'T7'});

size(ersp{1})

ans =

    30    40     1     12

30 frequencies, 40 time points, 1 electrode, 12 subjects.
Now to compare the baseline to 0, one simple way is to do this is

% permutation statistics with FDR correction
pvals = std_stat({ ersp{1} zeros(size(ersp{1})) }', 'method', 'permutation', 'condstats', 'on', 'correctm', 'fdr');

Or

% permutation statistics with cluster correction (note: use the latest SVN revision of EEGLAB 12)
pvals = std_stat({ ersp{1} zeros(size(ersp{1})) }', mode', 'fieldtrip', 'fieldtripmethod', 'montecarlo', 'condstats', 'on', 'fieldtripmcorrect', 'cluster');

Note that only surrogate method is appropriate here (the array containing zeros array has 0 variance so cannot be used in parametric tests).
Now plot the ERSP masked for significance.

tmpersp = mean(ersp{1},4); % average ERSP for all subjects
tmpersp(pvals{1} > 0.05) = 0; % zero out non-significant values
figure; imagesc(times, freqs, tmpersp); set(gca, 'ydir', 'normal'); xlabel('Time (ms)'); ylabel('Frequencies (Hz)'); cbar; % plot ERSP

Best,

Arno

On 11 Jan 2013, at 04:25, Aleksandra Vuckovic wrote:


Dear Makoto,
at the moment I am working simply with EEG data not ICA components (though that will be my next step).
Does that change anything?
Many thanks,
Aleksandra

________________________________
From: Makoto Miyakoshi [<mailto:mmiyakoshi at ucsd.edu>mmiyakoshi at ucsd.edu<mailto:mmiyakoshi at ucsd.edu>]
Sent: 10 January 2013 23:12
To: Aleksandra Vuckovic
Cc: <mailto:eeglablist at sccn.ucsd.edu> eeglablist at sccn.ucsd.edu<mailto:eeglablist at sccn.ucsd.edu>; Muhammad Hasan; Arnaud Delorme; Scott Makeig
Subject: Re: [Eeglablist] Ploting ONLY stat stignificant ERSP ina study
Dear Aleksandra,

So you want to show simple effect of ERSP results after significance masking. Actually it is not possible for the current STUDY scheme (!) which is a shame. You need to write a code to extract those values from STUDY.cluster(1,x).icaersp. Type 'help std_readersp' and read the help for a start.

I strongly believe that this should be doable, so I cc this to Arno and Scott to draw their attention.

Makoto
2013/1/4 Aleksandra Vuckovic <<mailto:Aleksandra.Vuckovic at glasgow.ac.uk>Aleksandra.Vuckovic at glasgow.ac.uk<mailto:Aleksandra.Vuckovic at glasgow.ac.uk>>
Hi,
how can I plot only statistically significant ERSP (let's say p<0.05) in a study, in the same way as it can be plotted for a single subject? Currently I can only plot a separate figure with an area of statistically significant difference between two groups rather than statistically significant ERSP of a single group/single condition.
Many thanks,
Alex

_______________________________________________
Eeglablist page: <http://sccn.ucsd.edu/eeglab/eeglabmail.html> http://sccn.ucsd.edu/eeglab/eeglabmail.html
To unsubscribe, send an empty email to <mailto:eeglablist-unsubscribe at sccn.ucsd.edu> eeglablist-unsubscribe at sccn.ucsd.edu<mailto:eeglablist-unsubscribe at sccn.ucsd.edu>
For digest mode, send an email with the subject "set digest mime" to <mailto:eeglablist-request at sccn.ucsd.edu> eeglablist-request at sccn.ucsd.edu<mailto:eeglablist-request at sccn.ucsd.edu>



--
Makoto Miyakoshi
JSPS Postdoctral Fellow for Research Abroad
Swartz Center for Computational Neuroscience
Institute for Neural Computation, University of California San Diego



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20130817/ea32b7db/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ersp_colour.tif
Type: image/tiff
Size: 339028 bytes
Desc: ersp_colour.tif
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20130817/ea32b7db/attachment.tif>


More information about the eeglablist mailing list