This was my first proper foray into data visualization, back in the spring of 2023. The original poster did not have the all-black aesthetic I adopted seriously later on, and honestly looks prettier in the original white (almost ethereal), but this is a refreshed version to bring my visual portfolio (His Dark Materials?) into alignment. I left some aspects unpolished, to stay true to the original.
The highlight of the piece is the network arc diagram depicted above, which takes 50 parcels (small areas of cortex) from the 690 parcel Yale Brain Atlas developed at our lab and published in Scientific Reports in 2022. A major follow-up was published in Nature Communications last year.
These 50 parcels in the arc diagram are a subset from areas of the brain important for processing language. Don’t worry, I won’t dive too deep into the clinical or scientific methodology for this project, since this blog is meant for a more general audience. Also the big language mapping paper I created this for has finally been submitted to a journal for publication, so I think there’s technically an embargo on that kind of material.
Networks consist of nodes (here the brain parcels) and edges (here the white matter connections between them).
I generated 3D glass brain models with different white matter tracts (bundles of nerve fibre connecting parts of the cortex and carrying signals) embedded within using Blender. Apparently some medical students at Johns Hopkins used the web-based interactive viewer I developed for these white matter tracts to study up on neuroanatomy, via one of my college friends who ended up there.
The connectivity data for the network came from a 1000+ human subjects. There is a technique called diffusion MRI that lets us use some very fancy physics and mathematics (beyond my grasp to properly comprehend, but not beyond my ability to implement — like a shocking proportion of work that modern knowledge workers do daily) to model these fibre bundles based on the minutest tendency of water molecules to diffuse along them rather than across them. Sort of like generating a map of the roads in a city based on the blur you pick up on satellite imagery because of the traffic moving around over the day. Except the satellite doesn’t have actual cameras, it has to use gradients in magnetic fields to ‘see’. And the roads are all deep underground, weaving around in three dimensions, and crisscrossing each other. Magic. You see three tracts on the right, where the topmost one (the arcuate fasciculus) is most crucial for language.
Every word I type and you read plays a kind of note on those strings, striking the intended portion of the meaning embedding of your brain into resonance.
I coded up a way to roughly localize edges from the overall structural brain network to different white matter tracts for the project. The edges (curved arcs) have stroke colour according to that information, although most are gray (unlocalized). Their stroke width encodes the strength of structural connectivity between the given node pair. I’ll try to write up a nice introduction to brain networks at some point, after taking care of some more pressing commitments.
There is some interesting (if not particularly useful) novelty on the left — the `spider-web’ plots. Since pie charts are generally frowned upon everywhere outside school presentations and corporate environments (the human eye is not good at gauging relative angular magnitude), I came up with a sort of hybrid that pulls from the DNA of radar charts. You’ll notice it is also similar to the hand-drawn logo I use at the moment. The chart uses line density to encode relative proportions of language disruption for each region of the cortex, across the six different tasks that were administered.
Cortical stimulation refers to applying electrical impulses to areas of cortex using implanted electrodes. If stimulation disrupts the ability of the subject to perform the ongoing test task, it is assumed that little area of cortex is important for that particular function. One of the finest teams of neurosurgeons, neurologists, and radiologists in the world gathered all this data.
There is a legend at the bottom that clears up all the acronyms and colour keys. If I were to update the piece properly, I would probably redo this from scratch and make it more interpretable.
There are also two bubbles in the background encoding how many total stimulations took place (the grey calligram) and how many stimulations disrupted language (coloured circle).
Hope that overview was helpful! Feel free to ask me if you’d like to know more, or be guided to some great resources. I was going to pepper in more links, but I do want to save up for the big blog post on brains and networks. The atlas itself deserves a write up too.
One of my recurring struggles creatively is that the very first thing I make in a particular domain ends up being my finest work. The full version of this poster (much more science, more muted aesthetics) actually won an award at the American Epilepsy Society’s meeting in Orlando in 2023 — a Young Investigator award from the Grass Foundation.
As a bonus, here is the original version in white. I wrote the code to visualize the brain network diagram on the upper right from scratch, since I wasn’t satisfied with existing solutions. Would love to turn it into a Python package for others to use some day, but there is always so much to do.
Diligence is not strongest suit so far, but I do try to recreate and improve upon what worked in the past. Practice, learning, experimentation. Things become a bit more polished slowly. I learn how to do things more efficiently. Less of the lengthy trial-and-error. There is always some hard to define element in the first piece (the spark? the soul? I wish I knew the secret) that I never quite manage to capture again to the same extent though. At least in my eyes. I suspect it’s because there has to be something quite special about the initial idea to inspire me to go out there and learn all the things I need to make the thing in the first place. 3D modeling. Plotting libraries. Graphic design. Long list on display here. Eventually end up moving on, trying a new domain, looking for a new spark.
After two long years of mostly iteration, something different is coming soon.
👏👏🧠