GSOC Ideas

Alexandre Gramfort edited this page Mar 5, 2016 · 64 revisions

Important: Expectations for prospective students

and from PSF: https://wiki.python.org/moin/SummerOfCode/2016

MNE-Python is planning to participate in the GSOC 2016 under the Python Software Foundation (PSF) umbrella. Here is our list of potential projects.

1. Volume based and template based source localization

Difficulty: medium to difficult

Possible Mentor: Denis Engemann, Alex Gramfort, Eric Larson, Jaakko Leppakangas

Goal: The aim of this project is to improve volume template based and sensor template based source localization and analysis. MNE is built on top of FreeSurfer and uses massively surface based analysis of individual MRI scans. However for certain use cases, volume template based analysis is the only viable choice (absence of t1 MRI volume, kids data). Some subtasks are:

Subgoals that are in general useful to integrate existing volumetric with surface based source localization and should improve interpretability of results:

  • project surface estimates on to the volume.
  • interoperability between volume estimates and standard neuroimaging atlases.
  • visualization of dipole fits in the volume.

Subgoals related to template functions for source reconstruction [SR]

1) SR on MNI template with EEG standard montage

2) SR on MNI template with actual sensor positions

2. Improve interoperability with major MEG and EEG software

Difficulty: Medium

Possible Mentor: Denis Engemann, Alex Gramfort, Mainak Jas, Jaakko Leppakangas

We recently added an IO for reading EEGLAB session files. In order to allow uesers to assemble arbitrary workflows between software packages we would like to do the same for FieldTrip and BrainStorm.

Goal: Implement a flexible IO for popular software packages.

Here, one challenge is to deal with the flexibility of these software packages. Fieldtrip for example does not impose a certain format on the data it reads and writes. What can be found in a Fieldtrip file can be very diverse with regard to underlying formats and processing stages. In other words, a good amount of testing is required to write an IO that supports most use cases and allows users to move certain aspects of their data analysis to MNE and vice versa.

3. Improve the decoding module

Difficulty: medium to difficult

Possible Mentors: Mainak Jas, Denis Engemann, Alex Gramfort

We added the decoding module in GSoC 2013. It has received a steady stream of contributions since then, including a CSP module which won a Kaggle contest. Now, it's time for some maintenance efforts.

Goal: Implement consistent API across objects in the decoding module.

Ensure that the objects follow the scikit-learn API with a fit and transform method, and work flawlessly with cross-validation and grid-search objects in scikit-learn. It will require rethinking the decoding objects and refactoring them, especially GAT and EMS. At the same time, the objects should work smoothly for multi-class problems when applicable. The user interface should also be simplified. Decoding objects should internally call EpochsVectorizer to reshape the epochs data to 2D before running the algorithm. In summary, this project will involve a series of usability improvements for the decoding module and extend its functionality.

Related issues: #2176, #2596