mne.viz.plot_topo behavior

Hi all,
A little quirky behavior I can't make sense of; I am trying to show
topography for different conditions using mne.viz.plot_topo however I keep
getting a type error regarding the number of input arguments
i.e., plot_topo() takes at least X arguments (Y given) that I can't make
sense of. By the way, I assume I can plot any number of conditions using
this function, right?

Here is my code snippet:
# Generate list of evoked objects from conditions names
evokeds = [epochs[name].average() for name in 'retroflex_standard',
'dental_deviant']

*print* evokeds
[<Evoked | comment : 'retroflex_standard', time : [-0.100000, 0.500000],
n_epochs : 79, n_channels x n_times : 204 x 601>, <Evoked | comment :
'dental_deviant', time : [-0.100000, 0.500000], n_epochs : 80, n_channels x
n_times : 204 x 601>]

From the tutorial<http://martinos.org/mne/auto_examples/plot_topo_compare_conditions.html&gt;

from mne.viz import plot_topo
# Show topography for different conditions
colors = 'yellow', 'green'
title = 'Evoked responses'
plot_topo(evokeds, color=colors, title=title)
conditions = [e.comment for e in evokeds]
for cond, col, pos in zip(conditions, colors, (0.025, 0.07)):
    pl.figtext(0.775, pos, cond, color=col, fontsize=12)
pl.show()

Hi Kambiz,

which version of mne-python are you running? Does the example you refer to
work on your machine?
And, yes, using plot_topo, theoretically any number of conditions can be
visualized.

Cheers,
Denis

Hi Denis,
At the moment I am experiencing this issue with the master 0.6 branch (FYI
I also expect to be working with the christianmbrodbeck branch). On my
machine (Ubuntu 13.04 64bit running canopy-1.0.0.1160.rh5-x86_64 &
python2.7) the topo plot example does not work using IPython notebook or
Enthough console.

In a last ditch effort to dig into this issue further I tried running the
tutorial example in an ipython --pylab terminal and noticed a pylab
issue (ImportError:
Matplotlib backend_wx and backend_wxagg require wxPython >=2.8); So I just
updated my enthought package as per web forum advice and now I cannot
import MNE because of these NEW errors:

---------------------------------------------------------------------------RuntimeError
                             Traceback (most recent call
last)RuntimeError: module compiled against API version 7 but this
version of numpy is 6
...

ImportError: numpy.core.multiarray failed to import

Hi Kambiz,

if you can import mne from one of your python versions, what does mne.__version__ return? It should be 0.7git -- we recently modified the call signature of the evoked topo. the layout argument now defaults to None (layout-guessing-mode). This would explain the traceback you initially posted.

Hi Denis,
At the moment I am experiencing this issue with the master 0.6 branch (FYI I also expect to be working with the christianmbrodbeck branch). On my machine (Ubuntu 13.04 64bit running canopy-1.0.0.1160.rh5-x86_64 & python2.7) the topo plot example does not work using IPython notebook or Enthough console.

In a last ditch effort to dig into this issue further I tried running the tutorial example in an ipython --pylab terminal and noticed a pylab issue (ImportError: Matplotlib backend_wx and backend_wxagg require wxPython >=2.8); So I just updated my enthought package as per web forum advice and now I cannot import MNE because of these NEW errors:

---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version 7 but this version of numpy is 6
...
ImportError: numpy.core.multiarray failed to import
---------------------------------------------------------------------------

Can you try the following variant for invoking ipy?

ipython --pylab qt

Please keep me posted,

Denis

Needless to say, I am royally confused.
Kambiz

Hi Kambiz,

which version of mne-python are you running? Does the example you refer to work on your machine?
And, yes, using plot_topo, theoretically any number of conditions can be visualized.

Cheers,
Denis

Hi all,
A little quirky behavior I can't make sense of; I am trying to show topography for different conditions using mne.viz.plot_topo however I keep getting a type error regarding the number of input arguments i.e., plot_topo() takes at least X arguments (Y given) that I can't make sense of. By the way, I assume I can plot any number of conditions using this function, right?

Here is my code snippet:
# Generate list of evoked objects from conditions names
evokeds = [epochs[name].average() for name in 'retroflex_standard', 'dental_deviant']

print evokeds
[<Evoked | comment : 'retroflex_standard', time : [-0.100000, 0.500000], n_epochs : 79, n_channels x n_times : 204 x 601>, <Evoked | comment : 'dental_deviant', time : [-0.100000, 0.500000], n_epochs : 80, n_channels x n_times : 204 x 601>]

From the tutorial
from mne.viz import plot_topo
# Show topography for different conditions
colors = 'yellow', 'green'
title = 'Evoked responses'
plot_topo(evokeds, color=colors, title=title)
conditions = [e.comment for e in evokeds]
for cond, col, pos in zip(conditions, colors, (0.025, 0.07)):
    pl.figtext(0.775, pos, cond, color=col, fontsize=12)
pl.show()

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-120-5809c3f526e8> in <module>()
      5 title = 'Evoked responses'
      6
----> 7 plot_topo(evokeds, color=colors, title=title)
      8
      9 conditions = [e.comment for e in evokeds]

TypeError: plot_topo() takes at least 2 arguments (3 given)

Thanks in advance
Kambiz
--
------------------------------------------------------------
Kambiz Tavabi PhD
Institute for Learning & Brain Sciences
1715 Columbia Road N
Portage Bay Building
Box 357988
University of Washington
Seattle, WA 98195-7988
Tel: 206-221-6415
------------------------------------------------------------

_______________________________________________
Mne_analysis mailing list
Mne_analysis at nmr.mgh.harvard.edu
Mne_analysis Info Page

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
MyComplianceReport.com: Compliance and Ethics Reporting . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

--
------------------------------------------------------------
Kambiz Tavabi PhD
Institute for Learning & Brain Sciences
1715 Columbia Road N
Portage Bay Building
Box 357988
University of Washington
Seattle, WA 98195-7988
Tel: 206-221-6415
------------------------------------------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20130627/63a93821/attachment.html

Hi Kambiz,

It seems to me that Canopy has some problems. I tried using it myself a
few months ago and it didn't work at all (I got errors like "os has no
module path"). So I switched back to EPD 7.3.1. I also just heard from
someone else about the "wxagg require > wxPython >=2.8" error. This
error is quite strange, as Canopy is supposed to include wxPython 2.8.10.1.

I recommend trying EPD or Anaconda from Continuum (I haven't tried it
yet, but it's on my list).

Best,

Martin

... Just to prevent additional confusion: the 0.6 stable release would work too (
(we did not modify the plotting function after the releasing), for 0.6git master the new functionality was added a few days before releasing mne 0.6 stable.

Hi all,
So I am not exactly sure about everything that has happened. I managed to
get things working by:
(1) Updating my EPD-CANOPY environment to version 1.0.3
(2) Update all my python packages via $ enpkg --update-all
(3) Nuked my mne-python directory and re-installed via (i) git clone git://
github.com/mne-tools/mne-python.git (ii) python setup.py install
It's not clear to me why there are so many alternative ways of installing
mne-python, but in trying to go from 0.6 to 0.7 I used pip install and
inadvertently ended up with both 0.6 & 0.7 recursively installed in my
/usr/local directory. I am assuming that to stay up to date with
developments the git approach is the way to go, correct?

I am now using mne 0.7.
@ Denis after upgrading python environment and packages I was still able to
reproduce the viz.plot_topo error in mne 0.6 using the sample data. The
command ipython --pylab qt generates yet another import error concerning
missing module sip. After updating to mne 0.7 I can now run the topo plots.
@Martin Yes, in hindsight it would've been better to go with EPD 7.3 or
perhaps even better Anaconda. This pylab back-end issue in Canopy has been
around for some time and was slated for a fix. It appears the new Canopy
update may have fixed it. Presently I find the entire Python environments
business very confusing and would like to just stick to one instead of flip
flopping around like a fish out of water; if I hit anymore snags I'll try
Anaconda.

Adios
Kambiz