GSoC Project: Real time decoding

Dear MNE-ers,

As you might be aware, I was one of the two participants working with
MNE-Python during the 2013 edition of Google Summer of Code (GSoC). It was
a unique and interesting experience, and I would like to share some of my
work with you all.

The aim of my project (as Alex previously mentioned) was to add
functionality for real-time decoding of MEG data. The project was divided
into two phases of roughly one and a half months duration each.

In the first phase (see related pull request here:
WIP: Realtime decoding by mainakjas · Pull Request #615 · mne-tools/mne-python · GitHub), we introduced two
new modules in MNE-Python -- one for decoding, and another for real-time
analysis. The decoding module latches on to scikit-learn, which is a
well-established package for machine-learning in Python. At the moment, we
have provided an interface to perform common pre-processing and feature
extraction steps in MEG data such as scaling, filtering, estimation of
Power Spectral Density, Common Spatial Pattern etc. These can be easily
combined with classifiers in scikit-learn to do advanced machine-learning
analysis on MEG data, all in real time.

In the second phase (see related pull request here:
https://github.com/mne-tools/mne-python/pull/692/files), I worked on
real-time feedback, which will allow adaptive experimental paradigms.
These new features come with example scripts to play around with, which is
also the best way to get started.

The project is also documented in the form of weekly blog posts here:
http://www.ml-py-meg.blogspot.fi/ which shows the evolution of ideas over
time. All of this wouldn't have been possible without the vibrant
community of MNE developers on github, who have been very helpful
throughout the project. If you have any questions, comments or feedback,
they are most welcome!

Best Regards,
Mainak

Hi MNE community,

I am pleased to announce that Google with his program Google
summer of code (GSOC) offered this year 2 slots to MNE-Python.

Mainak Jas from Aalto in Helsinki will work on real time decoding of
MEG data leveraging on the work in mne-cpp [1]
that allows the live streaming of MEG data buffers.

Roman Goj from the University of Stirling in Scotland will work on
improving our beamformer support especially adding time-frequency
support.

I am looking forward to a productive summer for both of them and I am
happy to see the mne-python community getting bigger.

Best,
Alex

[1] GitHub - mne-tools/mne-cpp: MNE-CPP: A Framework for Electrophysiology

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

Dear All,

Following on from the recent post by Mainak, I want to tell you about my
work on MNE-Python during Google Summer of Code.

The project I worked on revolved around the beamforming module and the
main contributions of the summer's work are:

* implementing Dynamic Imaging of Coherent Sources (DICS; Gross et al. 2001)
* implementing 5D time-frequency beamforming (Dalal et al. 2008)

Please feel free to have a look at the development version of MNE-Python
to access the DICS and TF-beamforming examples. In short, this new
functionality will allow one to look at the localization of activity in
a particular time window and frequency range. The time-frequency
beamformer methods in particular provide the ability to obtain source
space spectrograms based on beamformer solutions for grids of
time-frequency windows. The solutions can be based either on LCMV (where
the data is filtered in given frequency ranges) or on DICS.

Apart from the above I also worked on implementing cross-spectral
density calculation from epochs (necessary for DICS) and picking normal
and maximum power (Sekihara et al. 2002) orientation in the LCMV module.

The functionality is new, there are still interesting things we'll be
looking into with regards to how best to use it, so your contributions
(to code and to discussions here and on github) are very welcome and, of
course, please try the new features out and let us know how well they're
working for you.

This was an exciting summer and I'm very happy to be joining the vibrant
MNE community. And big thanks to my GSoC mentors and other MNE-Python
developers for lightning fast responses on github!

Best regards,
Roman

References:

Gross et al. Dynamic imaging of coherent sources: Studying neural
interactions in the human brain. PNAS (2001) vol. 98 (2) pp. 694-699

Dalal et al. Five-dimensional neuroimaging: Localization of the
time-frequency dynamics of cortical activity. NeuroImage (2008) vol. 40
(4) pp. 1686-1700

Sekihara et al. Asymptotic SNR of scalar and vector minimum-variance
beamformers for neuromagnetic source reconstruction. Biomedical
Engineering (2004) vol. 51 (10) pp. 1726--34