No interpolation for topoplots

Extend mne’s topoplots by removing interpolation area

The mne library offers a builtin plotting option for what is commonly referred to as topo plots. These plots take a single value per EEG/MEG channel and try to show the distribution across the scalp by proving a ventral (top -> down) view of the channel positions and interpolating values in between to create a quasi-head-shaped heatmap. We commonly encounter such plot whenever we are analyzing spatial filters and their associated patterns. While this is quite reliable if the head is homogeneously covered by EEG/MEG channels, a problem arises with when we deal with incomplete channel sets. E.g. in our experiments with Parkinsons patients, a significant area of the skull surface is not accessible for attaching EEG channels during the sub-acute session on the ward. If we now use the standard mne topo plotting procedures, we see wide areas of interpolated values, which might be missleading for interpretation. There exists a parameter to control the extrapolation in mne, but not for the interpolation (between channels).


The objective of this project would be to develop a post-processing step to the current plotting of mne and potentially include the code as a contribution to mne for it to become part of the standard. The development can contain the following steps:

  • tessellation of the heat map based on a parameter for granularity
  • blanking out tessellation elements which are further apart from any channel than a parameter value

Skills required

  • Good programming skills in Python
  • Experience with mne and matplotlib
  • Optional: experience with EEG/BCI data