1. What did you do this week?
Most of this week's work was focused on finalizing a set of functions that provide support for the LIMO dataset inside MNE-Python. The LIMO dataset is an openly available collection of files that contain neural time series data (i.e., EEG data). One goal of my GSoC project is to use this kind of open data resources for testing and validating new tools for linear regression analysis.
This week's work included:
- Setting up an OSF project to facilitate the download of individual files.
- Writing a python function that accesses OSF's API to retrieve the files.
- Writing a python function that brings the retrieved files into MNE-Python compatible data structures.
- Setting up a tutorial to explain the functionality of the added functions.
- Here, I've included some first linear regression results to replicate analyses of the LIMO dataset, which have been documented elsewhere.
- In addition, I started formulating a set of functions that allow the visualization of design matrices.
- Fixing bugs and making improvements to the code after discussion with mentors and community.
2. What is coming up next?
One important step for the next week is to create a new repository: MNE-Stats. The plan is to carry out most part of the developing work for statistical modeling tools in this repo. This way, we hope to improve flexibility during the project.
Furthermore, I aim to further consolidate my proposal of the API for statistical modeling in MNE. I will focus on the following issues during the next week:
- Facilitate the building of the design matrix.
- Here, I will continue to work on these week’s code (see 4. above).
- Handling of predictor and target variables (e.g., scaling).
- Dealing with interaction terms and visualization of the effects.
- Regularization and robustness of prediction.
3. Did you get stuck anywhere?
This week brought some challenging tasks, but I didn't feel particularly stuck during the process of solving them. For instance, one milestone of this week was that I was able to merge my first “big” pull request on MNE-Python. Of course, some changes I made introduced a couple of minor bugs and errors. So, from time to time, I felt like most of my work was focused on fixing errors and bringing the code to actually run smoothly. It probably sounds worse than it actually is, but I think one challenge for the next few weeks will be keep focused on the overall goal and don’t get too frustrated by errors and other issues.