Hi there,
I am teaching an undergraduate course with a neuroanatomy module for which I’d like to have students learn regions of interest by navigating a 3D brain viewer with anatomical annotations highlighted on the brain. (Ideally it will be a web app to avoid having students download software just for this one course module.) The Allen Institute Neuroglancer atlases look like they will do the job quite well!
I haven’t decided yet whether to have students use the HMBA Human Brain Atlas or the DHBAv2. My main criterion is I would like students to be able to search various segment names in the segment search tool and click them to turn their highlights on and then navigate to the highlighted region to see where it lies in the brain. The two atlases have mostly similar but slightly differing sets of highlightable ROIs. But it’s some apparently un-highlightable segments that bring me to my question.
For example, on the DHBAv2 Neuroglancer, let’s say I want to have students search for V1 and make it visible. I can search for V1 in the segment search on the top right and click the eye icon to make it “visible”, but no highlight appears on the slices or the 3D glass brain.
However, if I mouse around in the area of V1 on one of the slices, I can click to highlight the superordinate regions overlapping with V1, like the occipital pole, cuneus, and lingual gyrus. When my mouse is in these areas, the selection pane in the bottom right shows that the superordinate region is selected on the “DHBAv2 parcellations” layer and that V1 is selected on the “brain-outline” layer.
Is it at all possible to get these subordinate regions to highlight, or are they bound to a layer in the viewer that is not highlight-able? I would like for students to be able to highlight these regions and then scroll to the highlighted region, as opposed to having to search around with the mouse in a particular area to find where a certain anatomical annotation shows up. (Some mousing to search builds character but I worry too much mousing is more fiddly than it’s worth!)
thanks for your assistance! I have searched around a decent amount for 3D atlas viewer web apps and this one seems the best-featured by far for my needs. This would be the cherry on top!
Thanks for your question and your interest in using the Neuroglancer atlases as a teaching tool!
Your astute observation about DHBAv2 is related to a few quirks of how the atlases were constructed. The short answer is that HMBA and DHBAv2 are currently released only as subcortical atlases.
The 3D cortical glass brain uses segmentations from the Allen Human Brain Atlas ( Allen Human Reference Atlas - 3D, 2020 (new!) ) as a visual reference, primarily because they were drawn on the same MRI reference volume. The AHBA uses two cortical taxonomies, gyral and Brodmann, which are bound to each layer. In HMBA’s HOMBA ontology, V1 is not subordinate to Occipital pole. Instead, they are parallel nomenclature systems, see interactive reference here: HOMBA ontology — Common Coordinate Framework and Multi-Species Atlas Primer (CCF-MAP).
To get to your idea of highlighting a particular region and scrolling to it, there are ways to set up a Neuroglancer instance where a subset of regions is already highlighted and students could scroll to it. Instead of searching for a region, they could pick from a predetermined set of links with different structures toggled on/off. You could still take advantage of the hierarchy within the Brodmann branch, eg. occipital cortex would be the parent structure of V1, area prostriata, and extrastriate occipital cortex.
Happy to discuss more about how you’re thinking of using the atlases, especially if you have feedback on how easy it is to use and ways to improve the experience.
Thanks for explaining the different taxonomies! I had very very briefly clicked around the HOMBA ontology tree before but with your pointer I can now see that the gyral branches of the nomenclature tree are branched off of a different ancestor than the Brodmann branches that lead to subregions like V1. If I understand correctly, the gyral branch segments are the ones that will show up as colored segments on the slices and 3D brain outline?
The current default DHBAv2 Neuroglancer will definitely fit my minimum classroom needs as is! I may not end up having time to get it running before this coming semester, but it would be great if I could set up a Neuroglancer instance with the slice/brain outline base associated with the Brodmann branch of HOMBA and a preselected set of segments available for toggling. I haven’t tried at all to set up my own custom Neuroglancer instance with custom defaults but am definitely interested in trying that if there are docs guides for it!
If I understand correctly, the gyral branch segments are the ones that will show up as colored segments on the slices and 3D brain outline?
The Brodmann branch segments are in the 3D brain outline, but the colored segments show gyral parcellations. There’s a way to overlay both as separate color channels using the JSON state (see below), but it’s not set up that way currently.
it would be great if I could set up a Neuroglancer instance with the slice/brain outline base associated with the Brodmann branch of HOMBA and a preselected set of segments available for toggling.
This is relatively straightforward to set up. Because Neuroglancer references the same data, custom instances can be set up by editing the JSON viewer state. There are a lot of possible customizations, including setting visible layers, viewing angle, section colors, preselected segments, etc. There aren’t any standalone guides for creating custom JSON states (that I know of) but there is good documentation about what each element does here: https://www.caveconnecto.me/nglui/usage/statebuilder/#layers. The end of this demo also talks about the viewer state and its properties: https://www.youtube.com/watch?v=MbJZWgx6E_g&t=1097s
Another benefit of the viewer state is that it’s static. Any changes to the state (eg. toggling a particular structure on/off) would create a new state that can be saved as a new JSON. I could imagine a way you could use this for assignments or for test questions.