Skip to content

Picturing the Brain

By: Amelia Cangialosi

Visualizations are a key tool for researchers to be able to communicate their data and results. Great visuals can give scientists the power to internalize complex systems. This summer, I am working with Dr. John Pearson’s lab on their improv software, which has its own visualization of real-time neural activity when implemented with neurobiology labs. For my research project this summer, I am creating a new visualization that integrates seamlessly with the improv software and improves upon the legacy visualization.

Currently, Anne Draelos, a postdoc at the Pearson Lab, collaborates with Dr. Eva Naumann’s lab to implement improv in their experiments with zebrafish. The zebrafish are shown various stimuli to mimic shadows that would be seen in the water, and improv identifies real-time neural activity that correlates to each stimuli. After a few rounds of different stimuli, improv then predicts and suggests which stimulus will prompt the most neural activity. During this entire process, improv displays its GUI (a graphical user interface, also referred to as “gooey”). This GUI contains a live image of active neurons that are color coded for their correlating stimuli, a line graph of population neural activity, and a replica of stimuli being shown. Below is an example of the GUI in action from the improv paper.

For my new visualization, I plan to improve on the legacy GUI by making it more accessible to users through a platform called Jupyter Notebook. This can be accessed through a browser, unlike the old PyQt platform used. I also plan to add a wider variety of graphs and plots to aid experimentalists’ understanding of the data. Some examples include histograms, scatter plots, and video plots of the current stimuli and what improv suggests. My project will be split into two major steps:

  1. First, I will be exploring how to create plots with live updates of the data. This will require me to learn how to use Jupyter Notebook as my base platform and learn how to plot some basic data. Then, I will explore some Python packages to help with the live aspect of the data. The incoming data needs to be integrated into existing plots in a fast and efficient way.
  2. Next, I will look into the best ways to access the actual data from improv and incorporate it into the Jupyter Notebook. One potential solution is to implement plasma, a software developed by Apache Arrow.

Overall, I am excited to tackle this project and contribute to the future implementation of improv!

Leave a Reply

Your email address will not be published. Required fields are marked *