Blog Week 1 (07.06.-12.06)

Published: 06/14/2021

To implement the features of the existing Raw-Visualization and provide improved performance, Qt respectively PyQt was the backend-solution we pursued from the start. The Graphics View Framework from Qt provides the foundation for the required plotting-functionalities. Originally I thought I could read into the documentation of Qt alone and start with an (only) PyQt-based prototype from scratch. This turned out to be a big challenge, because there were various hurdles to overcome as how to setup the View, how to handle multiple Plot-Lines or how to setup axes. Thus on the second day I decided, in consultation with my mentors, to focus on the pyqtgraph-prototype which was planned to be setup during the second week for comparison. This turned out to be great, because by reading pyqtgraph's documentation and it's source-code I learned by example how a plotting-implementation in PyQt could be realized. The modularity of pyqtgraph and its well written code contributed significantly to my learning process (thanks and cudos @developers of pyqtgraph). I even got quickly to a point where the pyqtgraph-prototype could foreshadow to some extent how the final implementation may look like. So this week my work will also by focused on further improving this prototype to set the groundwork for the final backend.