plotting topomap for SSP projection

Hi,

I'm trying to plot topoplot of EOG/ECG SSP projections but I got some error messages about the layout I used. Here is what I originally used:

layout = mne.layouts.read_layout('Vectorview-all')
mne.viz.plot_projs_topomap(EOGprojs, layout=layout)

The error message is:
RuntimeError: Cannot find a proper layout for projection planar-998--0.200-0.500-PCA-01

Then I tried something below and I still got the same error message:
raw_layout = mne.layouts.find_layout(raw.info<http://raw.info/>, ch_type = 'mag')
mne.viz.plot_projs_topomap(EOGprojs, layout=raw_layout)

I thought it was because the channel names in my data didn't have the space between MEG and the sensor number but I got the same error message after I change the layout channel name to be the same as my raw file. Is there any obvious mistake I made that causes this error message? My mne version is below:

Version 2.7.3
SVN revision 3268
Build date is Thu Jan 6 02:23:43 EST 2011

Thanks!
Yuhan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20140422/03810619/attachment.html

hi,

can you paste the list of your channel names?

print raw.ch_names

on what system did you acquire your data?

just a note Version 2.7.3 is unrelated to the MNE-Python version.
Version 2.7.3 is for the unix commands.

Alex

The data was acquired on Elekta 306. Below are the channel names. Thanks.

_______In [23]: print raw.ch_names
['MEG0113', 'MEG0112', 'MEG0111', 'MEG0122', 'MEG0123', 'MEG0121', 'MEG0132', 'MEG0133', 'MEG0131', 'MEG0143', 'MEG0142', 'MEG0141', 'MEG0213', 'MEG0212', 'MEG0211', 'MEG0222', 'MEG0223', 'MEG0221', 'MEG0232', 'MEG0233', 'MEG0231', 'MEG0243', 'MEG0242', 'MEG0241', 'MEG0313', 'MEG0312', 'MEG0311', 'MEG0322', 'MEG0323', 'MEG0321', 'MEG0333', 'MEG0332', 'MEG0331', 'MEG0343', 'MEG0342', 'MEG0341', 'MEG0413', 'MEG0412', 'MEG0411', 'MEG0422', 'MEG0423', 'MEG0421', 'MEG0432', 'MEG0433', 'MEG0431', 'MEG0443', 'MEG0442', 'MEG0441', 'MEG0513', 'MEG0512', 'MEG0511', 'MEG0523', 'MEG0522', 'MEG0521', 'MEG0532', 'MEG0533', 'MEG0531', 'MEG0542', 'MEG0543', 'MEG0541', 'MEG0613', 'MEG0612', 'MEG0611', 'MEG0622', 'MEG0623', 'MEG0621', 'MEG0633', 'MEG0632', 'MEG0631', 'MEG0642', 'MEG0643', 'MEG0641', 'MEG0713', 'MEG0712', 'MEG0711', 'MEG0723', 'MEG0722', 'MEG0721', 'MEG0733', 'MEG0732', 'MEG0731', 'MEG0743', 'MEG0742', 'MEG0741', 'MEG0813', 'MEG0812', 'MEG0811', 'MEG0822', 'MEG0823', 'MEG0821', 'MEG0913', 'MEG0912', 'MEG0911', 'MEG0923', 'MEG0922', 'MEG0921', 'MEG0932', 'MEG0933', 'MEG0931', 'MEG0942', 'MEG0943', 'MEG0941', 'MEG1013', 'MEG1012', 'MEG1011', 'MEG1023', 'MEG1022', 'MEG1021', 'MEG1032', 'MEG1033', 'MEG1031', 'MEG1043', 'MEG1042', 'MEG1041', 'MEG1112', 'MEG1113', 'MEG1111', 'MEG1123', 'MEG1122', 'MEG1121', 'MEG1133', 'MEG1132', 'MEG1131', 'MEG1142', 'MEG1143', 'MEG1141', 'MEG1213', 'MEG1212', 'MEG1211', 'MEG1223', 'MEG1222', 'MEG1221', 'MEG1232', 'MEG1233', 'MEG1231', 'MEG1243', 'MEG1242', 'MEG1241', 'MEG1312', 'MEG1313', 'MEG1311', 'MEG1323', 'MEG1322', 'MEG1321', 'MEG1333', 'MEG1332', 'MEG1331', 'MEG1342', 'MEG1343', 'MEG1341', 'MEG1412', 'MEG1413', 'MEG1411', 'MEG1423', 'MEG1422', 'MEG1421', 'MEG1433', 'MEG1432', 'MEG1431', 'MEG1442', 'MEG1443', 'MEG1441', 'MEG1512', 'MEG1513', 'MEG1511', 'MEG1522', 'MEG1523', 'MEG1521', 'MEG1533', 'MEG1532', 'MEG1531', 'MEG1543', 'MEG1542', 'MEG1541', 'MEG1613', 'MEG1612', 'MEG1611', 'MEG1622', 'MEG1623', 'MEG1621', 'MEG1632', 'MEG1633', 'MEG1631', 'MEG1643', 'MEG1642', 'MEG1641', 'MEG1713', 'MEG1712', 'MEG1711', 'MEG1722', 'MEG1723', 'MEG1721', 'MEG1732', 'MEG1733', 'MEG1731', 'MEG1743', 'MEG1742', 'MEG1741', 'MEG1813', 'MEG1812', 'MEG1811', 'MEG1822', 'MEG1823', 'MEG1821', 'MEG1832', 'MEG1833', 'MEG1831', 'MEG1843', 'MEG1842', 'MEG1841', 'MEG1912', 'MEG1913', 'MEG1911', 'MEG1923', 'MEG1922', 'MEG1921', 'MEG1932', 'MEG1933', 'MEG1931', 'MEG1943', 'MEG1942', 'MEG1941', 'MEG2013', 'MEG2012', 'MEG2011', 'MEG2023', 'MEG2022', 'MEG2021', 'MEG2032', 'MEG2033', 'MEG2031', 'MEG2042', 'MEG2043', 'MEG2041', 'MEG2113', 'MEG2112', 'MEG2111', 'MEG2122', 'MEG2123', 'MEG2121', 'MEG2133', 'MEG2132', 'MEG2131', 'MEG2143', 'MEG2142', 'MEG2141', 'MEG2212', 'MEG2213', 'MEG2211', 'MEG2223', 'MEG2222', 'MEG2221', 'MEG2233', 'MEG2232', 'MEG2231', 'MEG2242', 'MEG2243', 'MEG2241', 'MEG2312', 'MEG2313', 'MEG2311', 'MEG2323', 'MEG2322', 'MEG2321', 'MEG2332', 'MEG2333', 'MEG2331', 'MEG2343', 'MEG2342', 'MEG2341', 'MEG2412', 'MEG2413', 'MEG2411', 'MEG2423', 'MEG2422', 'MEG2421', 'MEG2433', 'MEG2432', 'MEG2431', 'MEG2442', 'MEG2443', 'MEG2441', 'MEG2512', 'MEG2513', 'MEG2511', 'MEG2522', 'MEG2523', 'MEG2521', 'MEG2533', 'MEG2532', 'MEG2531', 'MEG2543', 'MEG2542', 'MEG2541', 'MEG2612', 'MEG2613', 'MEG2611', 'MEG2623', 'MEG2622', 'MEG2621', 'MEG2633', 'MEG2632', 'MEG2631', 'MEG2642', 'MEG2643', 'MEG2641', 'EEG061', 'EEG062', 'STI101', 'STI201', 'STI301', 'MISC201', 'MISC202', 'MISC203', 'MISC204', 'MISC205', 'MISC206', 'MISC301', 'MISC302', 'MISC303', 'MISC304', 'MISC305', 'MISC306', 'CHPI001', 'CHPI002', 'CHPI003', 'CHPI004', 'CHPI005', 'CHPI006', 'CHPI007', 'CHPI008', 'CHPI009']

so it should work...

can you share the -proj.fif file that contains the projections to plot?

A

Hi Alex,

Attached is the -proj.fif file. Thank you.

Yuhan

hi,

I could reproduce the bug.

I opened an issue.

https://github.com/mne-tools/mne-python/issues/1235

follow the issue to know when we fix it.

thanks

Best,
Alex

Yuhan,

could your try using the mne.find_layout function?
It should recognize the correct layout and automatically corrects the
naming of the channels. Old Neuromag systems tends to have whitespaces in
the names which can lead to problems. It seems this is the case for your
system.

Best,
Denis

Hi Yuhan,

I just realized you in fact already tried find_layout. Sorry for the
confusion.
We'll meanwhile try to understand what's the exact issue and keep you
posted.

Best,
Denis

hi Yuhan,

can you share a raw.fif file containing the measurement info you used
with mne.find_layout?

thanks
Alex

With the recent development version you could also just save the info:

`mne.fiff.write_info('my_info.fif', raw.info)`
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20140426/d9f9fee7/attachment.html

Hi Alex,

What's the best way for me to share or upload the raw.fif to you?

Thanks,
Yuhan

hi,

at the end of the day, there was no bug if you use find_layout this way:

import mne
fname_raw = 'T110_raw_crop.fif'
raw = mne.fiff.Raw(fname_raw)
layout = mne.layouts.find_layout(raw.info) #, ch_type='grad')
EOGprojs = mne.read_proj('T110_012413_face_loc_autobad9_tsss_mc_EOG_auto-proj.fif')
mne.viz.plot_projs_topomap(EOGprojs, layout=layout)

if you use :

layout = mne.layouts.find_layout(raw.info, ch_type='grad')

then it fails to display the mag topo as expected.

take home message use find_layout

Best,
Alex