As MLH Fellows who have not used LabGraph before, we had a really hard time understanding its purpose, how to set it up correctly, and what to expect from the library. So we decided to help future MLH Fellows get up to speed both on concepts and usage with an interactive tool. LabGraph Interactive lets you check out the power of real-time systems completely online.
What it does
LabGraph Interactive makes checking out the library easy with a terminal built with JS and simulations ran with Python. Once you open the terminal, you can run simulations that we built using LabGraph's principles of Streams and Graphs. You can see the resulted graphs at the top of the terminal
How we built it
We built the terminal using available tutorials and JS principles of HTML DOM. We prepared LabGraph's simulations using matplotlib, setuptools, and, of course, labgraph. To build the project, we also had to learn the principles that LabGraph is based on, which include real-time computational graphs
Challenges we ran into
Some of the challenges we ran into include:
- Learning to the use the library with its limited scope aimed at research experiments in neurology and psychology
- Managing teamwork with only two teammates and busy schedules, along with looking for ways to improve the library
Accomplishments that we're proud of
We are proud of setting up the LabGraph library correctly on our local computers as there was a versioning issue for MacOS Monterey and Big Sur.
We are also proud of building a LabGraph simulation based on the concepts such as Average Noise and Rolling Averager.
What we learned
We learned how to use Docker to setup individual containers for work with LabGraph on MacOS Monterey. But most importantly, we learned how to use LabGraph to build a simple project like ours.
What's next for LabGraph Interactive
We hope to build a Docker container that will produce randomly generated real-time graphs with LabGraph nodes and build a back-end with Flask to output the graphs 24/7.