<div dir="ltr">Dear Hiten,<div><br></div><div>> Makoto, I can surely post this on the eeglab list serve. Do I just email inquires to <a href="mailto:eeglablist@sccn.ucsd.edu" target="_blank">eeglablist@sccn.ucsd.edu</a>? <br>

</div><div><br></div><div>Start from here.</div><div><a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">

Let me share my code with you. It may help. Use it at your own risk. No guarantee.</div><div class="gmail_extra"><br></div><div class="gmail_extra">%%%%%%%%%%%%%%%%%%%%%%%%</div><div class="gmail_extra"><div class="gmail_extra">

tmpITC = STUDY.cluster(1,6).erspdata{}</div><div class="gmail_extra">meanITC = mean(tmpITC,3);</div><div class="gmail_extra"><br></div><div class="gmail_extra">surro = zeros(100,400,2000);</div><div class="gmail_extra">for n = 1:2000</div>

<div class="gmail_extra">    n</div><div class="gmail_extra">    bootFreq    = randi(size(tmpITC,1),[size(tmpITC,1),1]);</div><div class="gmail_extra">    bootLatency = randi(size(tmpITC,2),[size(tmpITC,2),1]);</div><div class="gmail_extra">

    bootIc      = randi(size(tmpITC,3),[size(tmpITC,3),1]);</div><div class="gmail_extra"><br></div><div class="gmail_extra">    tmpSurro = mean(tmpITC(bootFreq,bootLatency,bootIc),3);</div><div class="gmail_extra">    surro(:,:,n) = tmpSurro;</div>

<div class="gmail_extra">end</div><div class="gmail_extra"><br></div><div class="gmail_extra">bootSurro = zeros(100,400,2000);</div><div class="gmail_extra">for n = 1:2000</div><div class="gmail_extra">    bootIdx  = randi(2000,[size(tmpITC,3),1]);</div>

<div class="gmail_extra">    tmpSurro = mean(surro(:,:,bootIdx),3);</div><div class="gmail_extra">    bootSurro(:,:,n) = tmpSurro;</div><div class="gmail_extra">end</div><div class="gmail_extra"><br></div><div class="gmail_extra">

% multiple comparison using bootstrap</div><div class="gmail_extra">figure; imagesc(mean(bootSurro,3))</div><div class="gmail_extra">pvalMap = stat_surrogate_pvals(bootSurro,meanITC,'one');</div><div class="gmail_extra">

[p_fdr,p_masked] = fdr(pvalMap,0.01);</div><div class="gmail_extra"><br></div><div class="gmail_extra">% debri removal</div><div class="gmail_extra">[labelMap,uniqueLabelNum] = bwlabeln(p_masked);</div><div class="gmail_extra">

tmpDisp = sort(labelMap(:),'descend');</div><div class="gmail_extra">[occurrence,idx] = hist(tmpDisp,unique(tmpDisp));</div><div class="gmail_extra">sortOccurrence = sort(occurrence,'descend');</div><div class="gmail_extra">

disp(num2str(sortOccurrence(2:10)));</div><div class="gmail_extra">threshold = 1000;</div><div class="gmail_extra">threshOccurrence = occurrence;</div><div class="gmail_extra">threshIdx = find(threshOccurrence<threshold);</div>

<div class="gmail_extra">kMask = ismember(labelMap,idx(threshIdx));</div><div class="gmail_extra">finalMask = p_masked-kMask;</div><div class="gmail_extra"><br></div><div class="gmail_extra">figure</div><div class="gmail_extra">

subplot(1,3,1)</div><div class="gmail_extra">imagesc(meanITC); axis xy</div><div class="gmail_extra">set(gca,'XTick', 1:50:400, 'XTickLabel', round(STUDY.cluster(1,3).itctimes(1:50:400)),...</div><div class="gmail_extra">

    'YTick', [1 29 44 54 77 95], 'YTickLabel', [1 4 8 13 40 100])</div><div class="gmail_extra">set(get(gca,'XLabel'), 'String', 'Latency(ms)')</div><div class="gmail_extra">set(get(gca,'YLabel'), 'String', 'Frequency(Hz)')</div>

<div class="gmail_extra">title('Cluster 3 ITC');</div><div class="gmail_extra"><br></div><div class="gmail_extra">subplot(1,3,2)</div><div class="gmail_extra">imagesc(p_masked); axis xy</div><div class="gmail_extra">

set(gca,'XTick', 1:50:400, 'XTickLabel', round(STUDY.cluster(1,3).itctimes(1:50:400)),...</div><div class="gmail_extra">    'YTick', [1 29 44 54 77 95], 'YTickLabel', [1 4 8 13 40 100])</div>

<div class="gmail_extra">set(get(gca,'XLabel'), 'String', 'Latency(ms)')</div><div class="gmail_extra">set(get(gca,'YLabel'), 'String', 'Frequency(Hz)')</div><div class="gmail_extra">

title('Cluster 3 ITC, p<0.022, corrected with FDR');</div><div class="gmail_extra"><br></div><div class="gmail_extra">subplot(1,3,3)</div><div class="gmail_extra">imagesc(finalMask); axis xy</div><div class="gmail_extra">

set(gca,'XTick', 1:50:400, 'XTickLabel', round(STUDY.cluster(1,3).itctimes(1:50:400)),...</div><div class="gmail_extra">    'YTick', [1 29 44 54 77 95], 'YTickLabel', [1 4 8 13 40 100])</div>

<div class="gmail_extra">set(get(gca,'XLabel'), 'String', 'Latency(ms)')</div><div class="gmail_extra">set(get(gca,'YLabel'), 'String', 'Frequency(Hz)')</div><div class="gmail_extra">

title('Cluster 3 ITC, p<0.022, corrected with FDR, k>1000');</div><div class="gmail_extra"><br></div><div class="gmail_extra">set(gcf,'Position', [1602 510 1604 322])</div><div>%%%%%%%%%%%%%%%%%%%%%%%%%%%</div>

</div><div class="gmail_extra"><br></div><div class="gmail_extra">Makoto</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 2, 2014 at 8:36 PM, Hiten Patel <span dir="ltr"><<a href="mailto:hpatel90@gmail.com" target="_blank">hpatel90@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">Thanks for the response Ramon and Makoto,<div>

<br></div><div>I was asking specifically about how to plot significance between the ersp obtained from subtracting two conditions. </div><div><br></div><div>For example:</div><div>erspDiff=ersp1-ersp2;</div><div><br></div>

<div>since erspDiff is not obtained from newtimef, it doesn’t have any bootstrap (or alpha values) associated with it.</div><div>In order to mask an ersp in tftopo, the function requires erspboot (a two column vector with min and max level at each frequency.</div>

<div>Is there any way to obtain such a matrix for erspDiff?</div><div><br></div><div>I’ve tried a method using the function bootstat, and gotten some results. However, bootstat provides a max and min point at each time-frequency point, creating a 3D matrix. </div>

<div><br></div><div>Makoto, I can surely post this on the eeglab list serve. Do I just email inquires to <a href="mailto:eeglablist@sccn.ucsd.edu" target="_blank">eeglablist@sccn.ucsd.edu</a>? </div><span class=""><font color="#888888"><div>

<br></div></font></span><div><span class=""><font color="#888888">Hiten </font></span><div><div class="h5"><br><div><div>On Jul 1, 2014, at 2:47 PM, Ramón Martinez <<a href="mailto:nucleuscub@gmail.com" target="_blank">nucleuscub@gmail.com</a>> wrote:</div>

<br><blockquote type="cite"><div dir="ltr">Hi Makoto and Hiten, <div> The significance levels are used to mask out the non significant values in all the plots. This is showed by the green areas. For example, if you make newtimef without the significance level and then use  the 'alpha' option you will see basically the same plots but masked by green values... the values that survived to the test. Not sure if this answer your question..</div>


<div> Best,</div><div> Ramon</div><div> </div><div>p.s. Note that in the previous revision of this function, this method was called 'bootstrap' though it is actually permutation....</div><div> </div><div class="gmail_extra">


<br><br><div class="gmail_quote">On Tue, Jul 1, 2014 at 11:19 AM, Makoto Miyakoshi <span dir="ltr"><<a href="mailto:mmiyakoshi@ucsd.edu" target="_blank">mmiyakoshi@ucsd.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div dir="ltr">Dear Hiten,<div><br></div><div>I would like to redirect you to the eeglab mailing list since other users may have the trouble with the same issue. If you agree please reply it including eeglablist address.</div>




<div><br></div><div>Ramon, I see some potentials that this issue could be related to the other issue you have worked on for a week... any comment?</div><div><br></div><div>Makoto</div></div><div class="gmail_extra"><br><br>




<div class="gmail_quote">On Mon, Jun 30, 2014 at 12:50 PM, Hiten Patel <span dir="ltr"><<a href="mailto:hpatel90@gmail.com" target="_blank">hpatel90@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">




<div dir="ltr">Hi Makoto,<div><br></div><div>I had a question regarding ERSP plots. I am working with two conditions and subsequently have two epoch files. In order to see the difference of the results between these two conditions, I am subtracting their ersp values (see script below). However, I am having a difficult time obtaining a bootstrap significance level for the new ersp plot, that is a subtraction between the two conditions. My plots come out fine, however they have no significance levels. Currently I am working with individual data sets, and in the future, I plan to work thru a study format. <br>





<br>Do you have any suggestions on how to obtain a plot with bootstrap level of 0.05? <br><br>My Code:<br><br><div><br></div><div>figure;</div><div>[ersp,itc,powbase,times,freqs,erspboot,itcboot] = newtimef(ALLEEG(11).data(26, :, :),...</div>





<div>    4000, [-1000 2999], 1000,[3 0.5], 'freqs', [30:150], 'alpha', 0.01,  'plotitc','off');</div><div><br></div><div>figure;</div><div>[ersp2,itc2,powbase2,times2,freqs2,erspboot2,itcboot2] = newtimef(ALLEEG(12).data(26, :, :),...</div>





<div>    4000, [-1000 2999], 1000,[3 0.5], 'freqs', [30:150], 'alpha', 0.01,  'plotitc','off');</div><div><i>%The first two plots above have alpha levels of significance 0.01, however none of the plots in the subplot below show significance levels.</i></div>





<div><br></div><div><br></div><div>figure;</div><div>subplot(2,2,1);</div><div>tftopo(ersp, times, freqs); title('Hits');</div><div><br></div><div>subplot(2,2,2);</div><div>tftopo(ersp2, times2, freqs2); title('Misses');</div>





<div><br></div><div>subplot(2,2,[3:4]);</div><div>erspDiff=ersp-ersp2;</div><div>erspbootDiff=erspboot-erspboot2;</div><div>tftopo(erspDiff, times, freqs); cbar; title('Hits-Misses');</div></div><div><br></div><div>





<br></div><div><br></div><div><br></div><div>Thanks for your help,<br><br>Hiten Patel</div><div>Wayne State University</div><div>Institute of Gerontology, Department of Neuroscience.</div></div><span><font color="#888888">
</font></span></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Makoto Miyakoshi<br>Swartz Center for Computational Neuroscience<br>Institute for Neural Computation, University of California San Diego<br>


</div>


</font></span></div>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Makoto Miyakoshi<br>Swartz Center for Computational Neuroscience<br>Institute for Neural Computation, University of California San Diego<br>

</div>
</div></div>