Blog Week 5 (05.07.-09.07.)

marsipu
Published: 07/11/2021

What did I work on this week?

I worked on the implementation and improvement of features as the mouse-interaction and the annotation-management. There also were still some bugs which appeared during vertical scrolling (lines getting added/removed when they shouldn't) and which were a bit hard to track. To simplify the bug-tracking, I simplified the dynamic loading of lines. With the annotation-manager, I finished a feature which is partly inspired by SigViewer.

Benchmarks

As the performance can still be improved, I ran some benchmarks for the horizontal scrolling to compare different methods of downsampling. With the current version I found:

  • applying downsampling in chunks decreases performance
  • the "peak"-downsampling-method from pyqtgraph decreases performance compared to no downsampling

I am still working on ways to improve performance. One way is to activate OpenGL, which improves perfomance a lot. On Windows this may come with future problems, because it only works with an older pyqtgraph-version at the moment.

What comes next?

There are still features left to be implemented before I can open the first PR for an integration into the main-branch of MNE-Python which I will work on. Besides that my mentors advised me to refactor the existing matplotlib-classes to make a side-by-side implementation of both backends more feasible.