Brodmann Explorer
A computational neuroscience environment for constructing, visualizing, and exploring representations of neural systems across scales.
I began exploring neuroscience academically in Fall 2024, when I started at Western Washington University and took a linguistics course titled Language and Brain. I consider this class to be my first cognitive neuroscience course.
To better understand the brain, I began experimenting with brain visualization software such as BrainVoyager and exploring Python packages for working with neural data. I found that many of the things I wanted to do, visualize, inspect, and analyze neural data, were possible across a variety of disparate systems. What was missing was a strong environment for exploring the range of brain-related problems I was interested in. I imagined something more like Blender... a multipurpose modeling environment.
Later, while taking further courses in cognitive linguistics, I was introduced to the software Praat. Its interface and architecture struck me as profoundly simple: an environment where component- and object-oriented operations could be combined additively to construct, inspect, and analyze sound, particularly temporally and spectrally structured phonetic signal.
Praat is effectively a small scientific computing environment organized around the manipulation of well-defined objects using parameterized operations. This simplicity makes it possible to navigate fluidly between constructing, inspecting, and analyzing data.
This inspired the earliest version of BE, as I explored both designing the interface with a new library (PySide6) and constructing the object manager backend.
The earliest versions of Brodmann Explorer focused on interface design and 3D visualization. I experimented with PySide6, PyVista, network visualization, brain and scalp representations, and different ways of organizing anatomical and electrophysiological information.
Throwing a brain into a PyVista scene, generating some Matplotlib plots, and using Brian2 in BE were all massive successes... but they were relatively easy tasks. At this point, I had a GUI wrapper for a few tools.
I quickly realized a time-navigation bar similar to what is offered in Praat would be useful, so I built this in and had it up and running against a synthetic EEG simulation tool to demo fine-tuned temporal navigation.
As I continued falling into neuroscience, I became increasingly aware of the incredible diversity of approaches, perspectives, and models used to understand the brain. I was particularly drawn toward computational neuroscience's approach to formalizing and modeling problems, while my behavior-level interests were mostly around expertise and decision-making.
I set the software aside for a while, recognizing that I could not build my way past a lack of knowledge. Instead, I withdrew my focus from software development and continued passively reading, learning, and exploring neuroscience while progressing further into my psychology major and completing my minor in Language and Cognition.
Through that process, I came to appreciate the epistemological and methodological problems underlying neuroscience: connecting data and models, understanding what they represent, and understanding how different representations relate to one another.
This defines the central problem of Brodmann Explorer:
How do we connect models across scales to understand the mechanisms between them?
A neural system can be represented at many different levels of abstraction. A single neuron might have its own morphology, membrane dynamics, and spiking behavior. These details are meaningful and useful from one perspective, yet largely unnecessary when calculating or simulating activity across a larger neural system.
Moving between these levels means deciding which details matter for the question we’re asking. How well do we understand what we’re looking at, and how well can our models predict its behavior?
Visualization
I started with early technical projects largely through game development, so my perspective has always been oriented toward high-utility visualization. Brodmann Explorer carries that perspective into computational neuroscience, with the goal of making computational systems more inspectable, understandable, and human-readable.