<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I agree with Tim that the best way to output electrode position on the screen is to return the electrode coordinates after transformation.<div><br></div><div>Arno</div><div><br><div><div>On 4 Dec 2012, at 20:18, Tim Mullen wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">PPPS(!): note also that, for various reasons, the roles of the variables named 'x' and 'y' are interchanged inside topoplot.m -- so the internal variable 'x' actually refers to the ordinate (y-axis) and 'y' refers to the abscissa (x-axis). That's why I wrote <b>plot3(y,x,...)</b> instead of <b>plot3(x,y,...)</b>. Naturally this is confusing, so in the near future topoplot will be modified to output x,y,z electrode locations with the expected interpretation.<div>

<br></div><div>Tim</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 4, 2012 at 8:00 PM, Tim Mullen <span dir="ltr"><<a href="mailto:mullen.tim@gmail.com" target="_blank">mullen.tim@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">PPS: the following option (which uses "~" denote missing outputs, avoiding the need to save a separate function) was pointed out by a user. I didn't suggest this because the "~" notation was only introduced in Matlab 2009b. But if you have 2009b or later, it's a good option.<div class="im">

<div>
<br></div><div>---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Tide Gu</b> <span dir="ltr"><<a href="mailto:tidegu@me.com" target="_blank">tidegu@me.com</a>></span><br></div><div><br></div>

<div><div style="font-family:arial,sans-serif;font-size:13px">
<div>Why not put x, y at the end of parameters? i.e., </div><div><br></div><div><span style="color:rgb(255,0,0);font-family:'courier new',monospace">function</span><span style="color:rgb(255,0,0);font-family:'courier new',monospace"> </span><span style="color:rgb(255,0,0);font-family:'courier new',monospace">[</span><span style="color:rgb(255,0,0);font-family:'courier new',monospace">handle,Zi,grid,Xi,Yi</span><span style="color:rgb(255,0,0);font-family:'courier new',monospace">, </span><b style="color:rgb(255,0,0);font-family:'courier new',monospace"><u>x</u></b><span style="color:rgb(255,0,0);font-family:'courier new',monospace">,</span><b style="color:rgb(255,0,0);font-family:'courier new',monospace"><u>y</u></b><span style="color:rgb(255,0,0);font-family:'courier new',monospace">] = topoplot(Values,loc_file,varargin) </span></div>


<div><br></div><div>I think if you do so, it won't conflict with other EEGLAB functions and you can call:</div><div><br></div><div><span style="font-family:'courier new',monospace">>> [~,~, ~, ~, ~, x,y] = topoplot([],EEG.chanlocs,</span><span style="font-family:'courier new',monospace">'electrodes'</span><span style="font-family:'courier new',monospace">,</span><span style="font-family:'courier new',monospace">'on'</span><span style="font-family:'courier new',monospace">);</span></div>


<div><br></div><div>to access x and y.</div><div><br></div><div>Although it kind of complex and weird, but you don't need to save a new file :)</div><div><div><br></div><div>Regards,</div><div><br></div><div>Tide</div>


<div><div style="text-align:-webkit-auto;font-size:medium;font-family:Helvetica;word-wrap:break-word"><div style="text-align:-webkit-auto;word-wrap:break-word"><br>-----------------------------------------------<br>Tide / Shenkai <u>GU</u><br>


<br>Department of Computing, FEPS<br>University of Surrey<br>Guildford, Surrey<br>GU2 7XH, United Kingdom<br>-----------------------------------------------</div></div></div></div></div></div><div style="font-family:arial,sans-serif;font-size:13px">


<br>
</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div></div><div style="font-family:arial,sans-serif;font-size:13px">Tim</div>
<div class="gmail_extra"><div><div class="h5"><br><br><div class="gmail_quote">On Tue, Dec 4, 2012 at 7:29 PM, Tim Mullen <span dir="ltr"><<a href="mailto:mullen.tim@gmail.com" target="_blank">mullen.tim@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">PS: for now, you should probably save the modified topoplot.m as a separate function (i.e. topoplot2.m) since other EEGLAB functions that call topoplot may throw errors if they expect the output sequence to be in its original form. Note that it doesn't fix the problem to move the new (x,y) outputs to the end of the output sequence, since most of the preceding outputs are not defined when the first argument to topoplot() is empty and this will also throw an error.<div>







<br></div><div>Tim</div><div class="gmail_extra"><div><div><br><br><div class="gmail_quote">On Tue, Dec 4, 2012 at 7:21 PM, Tim Mullen <span dir="ltr"><<a href="mailto:mullen.tim@gmail.com" target="_blank">mullen.tim@gmail.com</a>></span> wrote:<br>







<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Iman,<div><br></div><div>topoplot() does not return the transformed electrode locations by default (it should, so we'll change that), but fortunately a very small modification to the function output will get what you want. Just edit topoplot.m and add variables 'x' and 'y' to the list of function outputs.</div>









<div><br></div><div>i.e. replace line 193 of topoplot.m with this line:</div><div><br></div>







<div><font color="#ff0000" face="courier new, monospace"><span>function</span> [<b><u>x</u></b>,<b><u>y</u></b>,handle,Zi,grid,Xi,Yi] = topoplot(Values,loc_file,varargin) </font></div><div><br></div><div>now call topoplot as follows:</div>









<div><p><font face="courier new, monospace">>> [x,y] = topoplot([],EEG.chanlocs,<span>'electrodes'</span>,<span>'on'</span>);</font></p><p>(note you can also use {'electrodes', 'labelpoint'} or other display options).</p><p>x and y now contain the x,y cartesian coordinates sorted in ascending order of channel number i.e. [ x(i) , y(i) ] are the x,y coordinates for the ith channel. The z-coordinate is the same for all channels and is hard-coded in topoplot.m to be <b>z=2.1</b>. </p><p>Try this scriptlet to test it out:</p><p><br></p><p><span style="font-family:'courier new',monospace"><font color="#93c47d">% ---------------------------------------------</font></span></p><p><span style="font-family:'courier new',monospace"><font color="#93c47d">% call topoplot and retrieve x,y,z electrode locations ...</font></span></p><p><span style="font-family:'courier new',monospace">figure; </span></p><p><span style="font-family:'courier new',monospace">[x,y] = topoplot([],EEG.chanlocs,</span><span style="font-family:'courier new',monospace">'electrodes'</span><span style="font-family:'courier new',monospace">,</span><span style="font-family:'courier new',monospace">'labelpoint'</span><span style="font-family:'courier new',monospace">);</span></p><p><font face="courier new, monospace">z = ones(size(x))*2.1;</font></p><p><font face="courier new, monospace" color="#6aa84f">% ... verify the locations by drawing markers </font><span style="color:rgb(106,168,79);font-family:'courier new',monospace">at the retrieved coordinates </span></p><p><font face="courier new, monospace" color="#6aa84f">%    (red markers should be exactly superimposed on original channel markers)</font></p><p><span style="font-family:'courier new',monospace">hold on; </span><span style="font-family:'courier new',monospace">plot3(y,x,z,</span><span style="font-family:'courier new',monospace">'.r'</span><span style="font-family:'courier new',monospace">);</span></p><p><span style="font-family:'courier new',monospace"><font color="#93c47d">% ---------------------------------------------</font></span><span style="font-family:'courier new',monospace"><br></span></p><p><br></p><p>Best,</p><p>Tim</p></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Tue, Dec 4, 2012 at 4:34 PM, Iman M.Rezazadeh <span dir="ltr"><<a href="mailto:irezazadeh@ucdavis.edu" target="_blank">irezazadeh@ucdavis.edu</a>></span> wrote:<br>









</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal">Dear EEGlabers.<u></u><u></u></p><p class="MsoNormal">

Do you have any idea how can I retrieve the  position of the electrodes on the displayed screen after using topoplot(). The point is when using topoplot() it needs the electrodes location and it has its own mapping to display it on the screen. Now, if sb wants to use the output of topoplot() as layout then the location of the electrodes on the screen is important!<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Iman M.Rezazadeh, PhD<u></u><u></u></span></p><p class="MsoNormal">









<span style="font-family:"Arial","sans-serif"">Postdoctoral Research Fellow<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Center for Mind and Brain<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">University of California, Davis<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Arial","sans-serif""><a href="mailto:irezazadeh@ucdavis.edu" target="_blank">irezazadeh@ucdavis.edu</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Cell:<a href="tel:310-490-1808" value="+13104901808" target="_blank">310-490-1808</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Skype: Imanmr<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p></div></div><br></div></div>_______________________________________________<br>
Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" target="_blank">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br>
To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu" target="_blank">eeglablist-unsubscribe@sccn.ucsd.edu</a><br>
For digest mode, send an email with the subject "set digest mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu" target="_blank">eeglablist-request@sccn.ucsd.edu</a><span><font color="#888888"><br>
</font></span></blockquote></div><span><font color="#888888"><br><br clear="all">
<div><br></div>
-- <br>---------  αντίληψη -----------<br>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br>---------  αντίληψη -----------<br>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br>---------  αντίληψη -----------<br>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>---------  αντίληψη -----------<br>
</div>
_______________________________________________<br>Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br>To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu">eeglablist-unsubscribe@sccn.ucsd.edu</a><br>For digest mode, send an email with the subject "set digest mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu">eeglablist-request@sccn.ucsd.edu</a></blockquote></div><br></div></body></html>