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.