subcortex-visualization 1.2.0__tar.gz → 1.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. {subcortex_visualization-1.2.0/subcortex_visualization.egg-info → subcortex_visualization-1.2.1}/PKG-INFO +44 -19
  2. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/README.md +43 -18
  3. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/pyproject.toml +1 -1
  4. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/setup.py +1 -1
  5. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/segmentation.py +6 -15
  6. subcortex_visualization-1.2.1/subcortex_visualization/utils.py +45 -0
  7. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1/subcortex_visualization.egg-info}/PKG-INFO +44 -19
  8. subcortex_visualization-1.2.0/subcortex_visualization/utils.py +0 -20
  9. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/LICENSE.txt +0 -0
  10. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/MANIFEST.in +0 -0
  11. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/setup.cfg +0 -0
  12. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/__init__.py +0 -0
  13. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/AICHA_subcortex.nii.gz +0 -0
  14. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/AICHA_subcortex_lookup.csv +0 -0
  15. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Brainnetome_subcortex.nii.gz +0 -0
  16. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Brainnetome_subcortex_lookup.csv +0 -0
  17. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S1_subcortex.nii.gz +0 -0
  18. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S1_subcortex_lookup.csv +0 -0
  19. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S2_subcortex.nii.gz +0 -0
  20. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S2_subcortex_lookup.csv +0 -0
  21. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S3_subcortex.nii.gz +0 -0
  22. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S3_subcortex_lookup.csv +0 -0
  23. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S4_subcortex.nii.gz +0 -0
  24. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Melbourne_S4_subcortex_lookup.csv +0 -0
  25. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/SUIT_cerebellar_lobule.nii.gz +0 -0
  26. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/SUIT_cerebellar_lobule_lookup.csv +0 -0
  27. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Thalamus_Nuclei_HCP.nii.gz +0 -0
  28. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/Thalamus_Nuclei_HCP_lookup.csv +0 -0
  29. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/__init__.py +0 -0
  30. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/aseg_subcortex.nii.gz +0 -0
  31. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/atlases/aseg_subcortex_lookup.csv +0 -0
  32. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/AICHA_L.svg +0 -0
  33. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/AICHA_L_ordering.csv +0 -0
  34. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/AICHA_R.svg +0 -0
  35. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/AICHA_R_ordering.csv +0 -0
  36. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/AICHA_both.svg +0 -0
  37. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/AICHA_both_ordering.csv +0 -0
  38. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Brainnetome_L.svg +0 -0
  39. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Brainnetome_L_ordering.csv +0 -0
  40. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Brainnetome_R.svg +0 -0
  41. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Brainnetome_R_ordering.csv +0 -0
  42. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Brainnetome_both.svg +0 -0
  43. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Brainnetome_both_ordering.csv +0 -0
  44. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S1_L.svg +0 -0
  45. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S1_L_ordering.csv +0 -0
  46. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S1_R.svg +0 -0
  47. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S1_R_ordering.csv +0 -0
  48. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S1_both.svg +0 -0
  49. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S1_both_ordering.csv +0 -0
  50. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S2_L.svg +0 -0
  51. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S2_L_ordering.csv +0 -0
  52. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S2_R.svg +0 -0
  53. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S2_R_ordering.csv +0 -0
  54. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S2_both.svg +0 -0
  55. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S2_both_ordering.csv +0 -0
  56. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S3_L.svg +0 -0
  57. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S3_L_ordering.csv +0 -0
  58. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S3_R.svg +0 -0
  59. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S3_R_ordering.csv +0 -0
  60. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S3_both.svg +0 -0
  61. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S3_both_ordering.csv +0 -0
  62. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S4_L.svg +0 -0
  63. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S4_L_ordering.csv +0 -0
  64. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S4_R.svg +0 -0
  65. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S4_R_ordering.csv +0 -0
  66. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S4_both.svg +0 -0
  67. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Melbourne_S4_both_ordering.csv +0 -0
  68. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/SUIT_cerebellar_lobule_both.svg +0 -0
  69. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/SUIT_cerebellar_lobule_both_ordering.csv +0 -0
  70. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Thalamus_Nuclei_HCP_L.svg +0 -0
  71. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Thalamus_Nuclei_HCP_L_ordering.csv +0 -0
  72. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Thalamus_Nuclei_HCP_R.svg +0 -0
  73. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Thalamus_Nuclei_HCP_R_ordering.csv +0 -0
  74. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Thalamus_Nuclei_HCP_both.svg +0 -0
  75. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/Thalamus_Nuclei_HCP_both_ordering.csv +0 -0
  76. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/__init__.py +0 -0
  77. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/aseg_L.svg +0 -0
  78. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/aseg_L_ordering.csv +0 -0
  79. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/aseg_R.svg +0 -0
  80. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/aseg_R_ordering.csv +0 -0
  81. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/aseg_both.svg +0 -0
  82. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/data/aseg_both_ordering.csv +0 -0
  83. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization/plotting.py +0 -0
  84. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization.egg-info/SOURCES.txt +0 -0
  85. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization.egg-info/dependency_links.txt +0 -0
  86. {subcortex_visualization-1.2.0 → subcortex_visualization-1.2.1}/subcortex_visualization.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: subcortex_visualization
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: A package to visualize subcortical and cerebellar brain data in two dimensions.
5
5
  Author: Annie G. Bryant
6
6
  Author-email: "Annie G. Bryant" <anniegbryant@gmail.com>
@@ -23,9 +23,9 @@ License-File: LICENSE.txt
23
23
  Dynamic: author
24
24
  Dynamic: license-file
25
25
 
26
- # Subcortical data visualization in 2D
26
+ # subcortex_visualization: A toolbox for custom data visualization in the subcortex and cerebellum
27
27
 
28
- [![DOI](https://zenodo.org/badge/965897997.svg)](https://doi.org/10.5281/zenodo.15385315)
28
+ [![DOI:10.64898/2026.01.23.699785](http://img.shields.io/badge/DOI-10.1101/2021.01.08.425840-B31B1B.svg)](https://doi.org/10.64898/2026.01.23.699785)
29
29
 
30
30
  This package (implemented in Python and R) currently includes the following nine subcortical and cerebellar atlases for data visualization in two-dimensional vector graphics:
31
31
 
@@ -36,11 +36,11 @@ More information about these atlases, including the process of rendering the sur
36
36
  ## 🙋‍♀️ Motivation
37
37
 
38
38
  This visualization package was created to generate two-dimensional subcortex images in the style of the popular [`ggseg` package](https://github.com/ggseg/ggseg) in R.
39
- We based our vector graphic outlines on the three-dimensional subcortical meshes either (1) provided as part of the [ENIGMA toolbox](https://github.com/MICA-MNI/ENIGMA) for the aseg atlas or (2) meshes generated in-house using rendering software from [Chris Rorden's lab](https://github.com/neurolabusc) ([Surf Ice](https://github.com/neurolabusc/surf-ice); check out [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation_pipeline) for more information).
39
+ We based our vector graphic outlines on the three-dimensional subcortical meshes either (1) provided as part of the [ENIGMA toolbox](https://github.com/MICA-MNI/ENIGMA) for the aseg atlas or (2) meshes generated in-house using rendering software from [Chris Rorden's lab](https://github.com/neurolabusc) ([Surf Ice](https://github.com/neurolabusc/surf-ice); check out [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation) or the [project website page](https://anniegbryant.github.io/subcortex_visualization/custom_segmentation/) for more information).
40
40
 
41
41
  The below graphic summarizes the transformation from 3D volumetric meshes to 2D surfaces, starting from the [Melbourne Subcortex Atlas](https://github.com/yetianmed/subcortex/tree/master) as published in [Tian et al. (2020)](https://www.nature.com/articles/s41593-020-00711-6) at the 'S1' resolution.
42
42
 
43
- <img src="docs-site/docs/images/Melbourne_S1_subcortical_atlas_info.png" width="90%">
43
+ <img src="docs-site/docs/images/Melbourne_S1_subcortical_atlas_info.png" width="50%">
44
44
 
45
45
  While [`ggseg`](https://github.com/ggseg/ggseg) offers subcortical plotting with the `aseg` atlas, it is [not currently possible](https://github.com/ggseg/ggseg/issues/104) to show data from all seven subcortical regions (accumbens, amygdala, caudate, hippocampus, pallidum, putamen, thalamus) in the same figure.
46
46
  Moreover, there is currently no other software available to visualize any of the other above subcortical, thalamic, or cerebellar atlases in two dimensions with real data, motivating the development of this package.
@@ -89,12 +89,12 @@ plot_subcortical_data(hemisphere='L', cmap='plasma',
89
89
  fill_title = "Subcortical region index")
90
90
  ```
91
91
 
92
- <img src="docs-site/docs/images/example_aseg_subcortex_plot.png" width="80%">
92
+ <img src="docs-site/docs/images/example_aseg_subcortex_plot.png" width="60%">
93
93
 
94
94
 
95
95
  ### 📚 Tutorial
96
96
 
97
- For a guide that goes through all the functionality and atlases available in this package, we compiled a simple walkthrough tutorial in [tutorial.ipynb](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial.ipynb).
97
+ For a guide that goes through all the functionality and atlases available in this package, we compiled a simple walkthrough tutorial in Python ([tutorial.ipynb](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial.ipynb)) and R ([tutorial_R.md](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial_R.md)).
98
98
  To plot real data in the subcortex, your `subcortex_data` should be a Python `pandas.DataFrame` or an R `data.frame` structured as follows (here we've just assigned an integer index to each region):
99
99
 
100
100
  | region | value | Hemisphere |
@@ -141,11 +141,11 @@ plot_subcortical_data(subcortex_data=example_continuous_data, atlas='aseg',
141
141
  cmap=white_blue_red_cmap, midpoint=0)
142
142
  ```
143
143
 
144
- <img src="docs-site/docs/images/example_aseg_subcortex_normdist.png" width="80%">
144
+ <img src="docs-site/docs/images/example_aseg_subcortex_normdist.png" width="75%">
145
145
 
146
- ### Available atlases
146
+ ### 🗺️ Available atlases
147
147
 
148
- The following nine subcortical atlases are currently supported with more information at the [project website](https://anniegbryant.github.io/subcortex_visualization/atlas_info/):
148
+ The following subcortical and cerebellar atlases are currently supported with more information at the [project website](https://anniegbryant.github.io/subcortex_visualization/atlas_info/):
149
149
 
150
150
  * `aseg`: The `aseg` parcellation atlas from FreeSurfer
151
151
  * `Melbourne_S1`: The Melbourne Subcortex Atlas at granularity level S1, from [Tian et al. *Nature Neuroscience* (2020)](https://www.nature.com/articles/s41593-020-00711-6)
@@ -157,10 +157,17 @@ The following nine subcortical atlases are currently supported with more informa
157
157
  * `Thalamus_Nuclei_HCP`: The thalamic nuclei atlas derived from HCP data, from [Najdenovska et al. *Scientific Data* (2018)](https://www.nature.com/articles/sdata2018270)
158
158
  * `SUIT`: The SUIT cerebellum atlas, from [Diedrichsen *Neuroimage* (2006)](https://doi.org/10.1016/j.neuroimage.2006.05.056)
159
159
 
160
+ ### 🌟 Atlas wishlist
161
+
162
+ These atlases are on the 'vision board' for me to add to the package next (community pull requests absolutely welcome to incorporate these in the meantime):
163
+
164
+ * Thalamus-Optimized Multi-Atlas Segmentation (THOMAS) atlas: High-resolution segmentation of thalamic nuclei ([file link](https://zenodo.org/records/5499504)), recently expanded to all deep grey nuclei as described in [Saranathan et al. (2025)](https://doi.org/10.1002/hbm.70350)
165
+ * Brainstem (suggested by [@RaviBot](https://github.com/RaviBot)): Brainstem Navigator atlas ([file link](https://www.nitrc.org/projects/brainstemnavig)), as described in [Bianciardi et al. (2015)](https://doi.org/10.1089/brain.2015.0347)
166
+ * CIT168 Reinforcement Learning Atlas (suggested by [@GalKepler](https://github.com/GalKepler)): Subcortical atlas ([file link](https://osf.io/jkzwp/wiki)) that includes the principal nuclei involved in reinforcement learning, as described in [Pauli et al. (2018)](https://doi.org/10.1038/sdata.2018.63)
160
167
 
161
168
  ## 💡 Want to generate your own mesh and/or parcellation?
162
169
 
163
- <img src="docs-site/docs/images/custom_vector_method.png" width="70%">
170
+ <img src="docs-site/docs/images/custom_vector_method.png" width="60%">
164
171
 
165
172
  This package provides nine subcortical, thalamic, and cerebellar atlases as a starting point.
166
173
  The workflow can readily be extended to your favorite segmentation atlas, though!
@@ -168,21 +175,39 @@ We have a dedicated folder for a custom segmentation pipeline that will walk you
168
175
  1. Rendering a series of triangulated surface meshes from your parcellation atlas (starting from a .nii.gz volume), using the [`surfice_atlas`](https://github.com/neurolabusc/surfice_atlas) software, both developed by [Chris Rorden's lab](https://github.com/rordenlab); and
169
176
  2. Tracing the outline of each region in the rendered mesh in vector graphic editing software (we use Inkscape in the tutorial as a powerful and free option), to yield a two-dimensional image of your atlas in scalable vector graphic (.svg) format.
170
177
 
171
- Check out the walkthrough in the [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation_pipeline) folder for more information on how to render your own volumetric segmentation with an interactive mesh and convert to a two-dimensional vector graphic that can be integrated with this package.
178
+ Check out the walkthrough in the [`custom_segmentation/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation) folder or the [project website page](https://anniegbryant.github.io/subcortex_visualization/custom_segmentation/) for more information on how to render your own volumetric segmentation with an interactive mesh and convert to a two-dimensional vector graphic that can be integrated with this package.
172
179
 
173
- ## 🙏 Acknowledgments
180
+ ## 🔗 Citing this package
174
181
 
175
- Thank you very much to [Chris Rorden](https://github.com/rordenlab), [Ye Tian](https://github.com/yetianmed), and [Sid Chopra](https://github.com/sidchop) for their suggestions and continued development of open tools for neuroimaging visualization that enabled the development of this project!
182
+ If you use this package in a scientific publication, blog post, etc., please read and cite the [associated preprint](https://www.biorxiv.org/content/10.64898/2026.01.23.699785):
176
183
 
177
- We're also very grateful for ongoing contributions from members of the GitHub community:
184
+ * 📕 Bryant, Annie G. (2026). Subcortex visualization: A toolbox for custom data visualization in the subcortex and cerebellum. *bioRxiv*, 2026-01. doi:10.64898/2026.01.23.699785.
178
185
 
179
- [![Contributors](https://contrib.rocks/image?repo=anniegbryant/subcortex_visualization)](https://github.com/anniegbryant/subcortex_visualization/graphs/contributors)
186
+ <details closed>
187
+ <summary>Click here for a BibTex reference:</summary>
180
188
 
181
- ## 🔗 Citing this package
189
+ ```
190
+ @article{bryant2026subcortex,
191
+ title = {Subcortex visualization: A toolbox for custom data visualization in the subcortex and cerebellum},
192
+ url = {https://www.biorxiv.org/content/10.64898/2026.01.23.699785},
193
+ doi = {10.64898/2026.01.23.699785},
194
+ journal = {bioRxiv},
195
+ publisher={Cold Spring Harbor Laboratory},
196
+ author = {Bryant, Annie G.},
197
+ pages = {2026--01},
198
+ year = {2026}
199
+ }
200
+ ```
201
+
202
+ </details>
203
+
204
+ ## 🙏 Acknowledgments
182
205
 
183
- If you use this package in a scientific publication, blog post, etc., please cite the corresponding Zenodo release as follows:
206
+ Thank you very much to [Sidhant Chopra](https://github.com/sidchop), [Chris Rorden](https://github.com/rordenlab), [Justine Hansen](https://github.com/justinehansen), and [Ye Tian](https://github.com/yetianmed) for their suggestions and continued development of open tools for neuroimaging visualization that enabled the development of this project!
184
207
 
185
- Annie G. Bryant. (2025). anniegbryant/subcortex_visualization: Initial Zenodo release (initial_release). Zenodo. https://doi.org/10.5281/zenodo.15385316
208
+ We're also very grateful for ongoing contributions from members of the GitHub community:
209
+
210
+ [![Contributors](https://contrib.rocks/image?repo=anniegbryant/subcortex_visualization)](https://github.com/anniegbryant/subcortex_visualization/graphs/contributors)
186
211
 
187
212
  ## ❓📧 Questions, comments, or suggestions always welcome!
188
213
 
@@ -1,6 +1,6 @@
1
- # Subcortical data visualization in 2D
1
+ # subcortex_visualization: A toolbox for custom data visualization in the subcortex and cerebellum
2
2
 
3
- [![DOI](https://zenodo.org/badge/965897997.svg)](https://doi.org/10.5281/zenodo.15385315)
3
+ [![DOI:10.64898/2026.01.23.699785](http://img.shields.io/badge/DOI-10.1101/2021.01.08.425840-B31B1B.svg)](https://doi.org/10.64898/2026.01.23.699785)
4
4
 
5
5
  This package (implemented in Python and R) currently includes the following nine subcortical and cerebellar atlases for data visualization in two-dimensional vector graphics:
6
6
 
@@ -11,11 +11,11 @@ More information about these atlases, including the process of rendering the sur
11
11
  ## 🙋‍♀️ Motivation
12
12
 
13
13
  This visualization package was created to generate two-dimensional subcortex images in the style of the popular [`ggseg` package](https://github.com/ggseg/ggseg) in R.
14
- We based our vector graphic outlines on the three-dimensional subcortical meshes either (1) provided as part of the [ENIGMA toolbox](https://github.com/MICA-MNI/ENIGMA) for the aseg atlas or (2) meshes generated in-house using rendering software from [Chris Rorden's lab](https://github.com/neurolabusc) ([Surf Ice](https://github.com/neurolabusc/surf-ice); check out [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation_pipeline) for more information).
14
+ We based our vector graphic outlines on the three-dimensional subcortical meshes either (1) provided as part of the [ENIGMA toolbox](https://github.com/MICA-MNI/ENIGMA) for the aseg atlas or (2) meshes generated in-house using rendering software from [Chris Rorden's lab](https://github.com/neurolabusc) ([Surf Ice](https://github.com/neurolabusc/surf-ice); check out [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation) or the [project website page](https://anniegbryant.github.io/subcortex_visualization/custom_segmentation/) for more information).
15
15
 
16
16
  The below graphic summarizes the transformation from 3D volumetric meshes to 2D surfaces, starting from the [Melbourne Subcortex Atlas](https://github.com/yetianmed/subcortex/tree/master) as published in [Tian et al. (2020)](https://www.nature.com/articles/s41593-020-00711-6) at the 'S1' resolution.
17
17
 
18
- <img src="docs-site/docs/images/Melbourne_S1_subcortical_atlas_info.png" width="90%">
18
+ <img src="docs-site/docs/images/Melbourne_S1_subcortical_atlas_info.png" width="50%">
19
19
 
20
20
  While [`ggseg`](https://github.com/ggseg/ggseg) offers subcortical plotting with the `aseg` atlas, it is [not currently possible](https://github.com/ggseg/ggseg/issues/104) to show data from all seven subcortical regions (accumbens, amygdala, caudate, hippocampus, pallidum, putamen, thalamus) in the same figure.
21
21
  Moreover, there is currently no other software available to visualize any of the other above subcortical, thalamic, or cerebellar atlases in two dimensions with real data, motivating the development of this package.
@@ -64,12 +64,12 @@ plot_subcortical_data(hemisphere='L', cmap='plasma',
64
64
  fill_title = "Subcortical region index")
65
65
  ```
66
66
 
67
- <img src="docs-site/docs/images/example_aseg_subcortex_plot.png" width="80%">
67
+ <img src="docs-site/docs/images/example_aseg_subcortex_plot.png" width="60%">
68
68
 
69
69
 
70
70
  ### 📚 Tutorial
71
71
 
72
- For a guide that goes through all the functionality and atlases available in this package, we compiled a simple walkthrough tutorial in [tutorial.ipynb](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial.ipynb).
72
+ For a guide that goes through all the functionality and atlases available in this package, we compiled a simple walkthrough tutorial in Python ([tutorial.ipynb](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial.ipynb)) and R ([tutorial_R.md](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial_R.md)).
73
73
  To plot real data in the subcortex, your `subcortex_data` should be a Python `pandas.DataFrame` or an R `data.frame` structured as follows (here we've just assigned an integer index to each region):
74
74
 
75
75
  | region | value | Hemisphere |
@@ -116,11 +116,11 @@ plot_subcortical_data(subcortex_data=example_continuous_data, atlas='aseg',
116
116
  cmap=white_blue_red_cmap, midpoint=0)
117
117
  ```
118
118
 
119
- <img src="docs-site/docs/images/example_aseg_subcortex_normdist.png" width="80%">
119
+ <img src="docs-site/docs/images/example_aseg_subcortex_normdist.png" width="75%">
120
120
 
121
- ### Available atlases
121
+ ### 🗺️ Available atlases
122
122
 
123
- The following nine subcortical atlases are currently supported with more information at the [project website](https://anniegbryant.github.io/subcortex_visualization/atlas_info/):
123
+ The following subcortical and cerebellar atlases are currently supported with more information at the [project website](https://anniegbryant.github.io/subcortex_visualization/atlas_info/):
124
124
 
125
125
  * `aseg`: The `aseg` parcellation atlas from FreeSurfer
126
126
  * `Melbourne_S1`: The Melbourne Subcortex Atlas at granularity level S1, from [Tian et al. *Nature Neuroscience* (2020)](https://www.nature.com/articles/s41593-020-00711-6)
@@ -132,10 +132,17 @@ The following nine subcortical atlases are currently supported with more informa
132
132
  * `Thalamus_Nuclei_HCP`: The thalamic nuclei atlas derived from HCP data, from [Najdenovska et al. *Scientific Data* (2018)](https://www.nature.com/articles/sdata2018270)
133
133
  * `SUIT`: The SUIT cerebellum atlas, from [Diedrichsen *Neuroimage* (2006)](https://doi.org/10.1016/j.neuroimage.2006.05.056)
134
134
 
135
+ ### 🌟 Atlas wishlist
136
+
137
+ These atlases are on the 'vision board' for me to add to the package next (community pull requests absolutely welcome to incorporate these in the meantime):
138
+
139
+ * Thalamus-Optimized Multi-Atlas Segmentation (THOMAS) atlas: High-resolution segmentation of thalamic nuclei ([file link](https://zenodo.org/records/5499504)), recently expanded to all deep grey nuclei as described in [Saranathan et al. (2025)](https://doi.org/10.1002/hbm.70350)
140
+ * Brainstem (suggested by [@RaviBot](https://github.com/RaviBot)): Brainstem Navigator atlas ([file link](https://www.nitrc.org/projects/brainstemnavig)), as described in [Bianciardi et al. (2015)](https://doi.org/10.1089/brain.2015.0347)
141
+ * CIT168 Reinforcement Learning Atlas (suggested by [@GalKepler](https://github.com/GalKepler)): Subcortical atlas ([file link](https://osf.io/jkzwp/wiki)) that includes the principal nuclei involved in reinforcement learning, as described in [Pauli et al. (2018)](https://doi.org/10.1038/sdata.2018.63)
135
142
 
136
143
  ## 💡 Want to generate your own mesh and/or parcellation?
137
144
 
138
- <img src="docs-site/docs/images/custom_vector_method.png" width="70%">
145
+ <img src="docs-site/docs/images/custom_vector_method.png" width="60%">
139
146
 
140
147
  This package provides nine subcortical, thalamic, and cerebellar atlases as a starting point.
141
148
  The workflow can readily be extended to your favorite segmentation atlas, though!
@@ -143,21 +150,39 @@ We have a dedicated folder for a custom segmentation pipeline that will walk you
143
150
  1. Rendering a series of triangulated surface meshes from your parcellation atlas (starting from a .nii.gz volume), using the [`surfice_atlas`](https://github.com/neurolabusc/surfice_atlas) software, both developed by [Chris Rorden's lab](https://github.com/rordenlab); and
144
151
  2. Tracing the outline of each region in the rendered mesh in vector graphic editing software (we use Inkscape in the tutorial as a powerful and free option), to yield a two-dimensional image of your atlas in scalable vector graphic (.svg) format.
145
152
 
146
- Check out the walkthrough in the [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation_pipeline) folder for more information on how to render your own volumetric segmentation with an interactive mesh and convert to a two-dimensional vector graphic that can be integrated with this package.
153
+ Check out the walkthrough in the [`custom_segmentation/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation) folder or the [project website page](https://anniegbryant.github.io/subcortex_visualization/custom_segmentation/) for more information on how to render your own volumetric segmentation with an interactive mesh and convert to a two-dimensional vector graphic that can be integrated with this package.
147
154
 
148
- ## 🙏 Acknowledgments
155
+ ## 🔗 Citing this package
149
156
 
150
- Thank you very much to [Chris Rorden](https://github.com/rordenlab), [Ye Tian](https://github.com/yetianmed), and [Sid Chopra](https://github.com/sidchop) for their suggestions and continued development of open tools for neuroimaging visualization that enabled the development of this project!
157
+ If you use this package in a scientific publication, blog post, etc., please read and cite the [associated preprint](https://www.biorxiv.org/content/10.64898/2026.01.23.699785):
151
158
 
152
- We're also very grateful for ongoing contributions from members of the GitHub community:
159
+ * 📕 Bryant, Annie G. (2026). Subcortex visualization: A toolbox for custom data visualization in the subcortex and cerebellum. *bioRxiv*, 2026-01. doi:10.64898/2026.01.23.699785.
153
160
 
154
- [![Contributors](https://contrib.rocks/image?repo=anniegbryant/subcortex_visualization)](https://github.com/anniegbryant/subcortex_visualization/graphs/contributors)
161
+ <details closed>
162
+ <summary>Click here for a BibTex reference:</summary>
155
163
 
156
- ## 🔗 Citing this package
164
+ ```
165
+ @article{bryant2026subcortex,
166
+ title = {Subcortex visualization: A toolbox for custom data visualization in the subcortex and cerebellum},
167
+ url = {https://www.biorxiv.org/content/10.64898/2026.01.23.699785},
168
+ doi = {10.64898/2026.01.23.699785},
169
+ journal = {bioRxiv},
170
+ publisher={Cold Spring Harbor Laboratory},
171
+ author = {Bryant, Annie G.},
172
+ pages = {2026--01},
173
+ year = {2026}
174
+ }
175
+ ```
176
+
177
+ </details>
178
+
179
+ ## 🙏 Acknowledgments
157
180
 
158
- If you use this package in a scientific publication, blog post, etc., please cite the corresponding Zenodo release as follows:
181
+ Thank you very much to [Sidhant Chopra](https://github.com/sidchop), [Chris Rorden](https://github.com/rordenlab), [Justine Hansen](https://github.com/justinehansen), and [Ye Tian](https://github.com/yetianmed) for their suggestions and continued development of open tools for neuroimaging visualization that enabled the development of this project!
159
182
 
160
- Annie G. Bryant. (2025). anniegbryant/subcortex_visualization: Initial Zenodo release (initial_release). Zenodo. https://doi.org/10.5281/zenodo.15385316
183
+ We're also very grateful for ongoing contributions from members of the GitHub community:
184
+
185
+ [![Contributors](https://contrib.rocks/image?repo=anniegbryant/subcortex_visualization)](https://github.com/anniegbryant/subcortex_visualization/graphs/contributors)
161
186
 
162
187
  ## ❓📧 Questions, comments, or suggestions always welcome!
163
188
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "subcortex_visualization"
7
- version = "1.2.0"
7
+ version = "1.2.1"
8
8
  authors = [
9
9
  { name="Annie G. Bryant", email="anniegbryant@gmail.com" },
10
10
  ]
@@ -10,7 +10,7 @@ install_requires = [
10
10
 
11
11
  setup(
12
12
  name='subcortex_visualization',
13
- version='1.2.0',
13
+ version='1.2.1',
14
14
  description='Visualize subcortical brain data from SVG templates',
15
15
  author='Annie G. Bryant',
16
16
  packages=find_packages(),
@@ -3,14 +3,14 @@ import os
3
3
  import numpy as np
4
4
  import pandas as pd
5
5
 
6
- # Imaging masker
7
- from nilearn.maskers import NiftiLabelsMasker
6
+ # neuromaps imports
7
+ from neuromaps.parcellate import Parcellater
8
8
 
9
9
  # Files
10
10
  from importlib.resources import files
11
11
 
12
12
  def apply_atlas_to_data(functional_map, atlas, func_name='Functional map'):
13
- """Apply subcortical atlas to functional map and extract mean signal per region.
13
+ """Apply subcortical atlas(es) to a given functional map and extract mean signal per region.
14
14
  Parameters
15
15
  ----------
16
16
  functional_map : str or Nifti1Image
@@ -45,18 +45,9 @@ def apply_atlas_to_data(functional_map, atlas, func_name='Functional map'):
45
45
  this_atlas_LUT = pd.read_csv(files("subcortex_visualization.atlases").joinpath(f"{this_atlas_file}_lookup.csv"), header=None)
46
46
  this_atlas_LUT.columns = ['Index', 'Region']
47
47
 
48
- # Apply example_seg to example_functional_map
49
- masker = NiftiLabelsMasker(
50
- labels_img=this_atlas_volume_path,
51
- memory="nilearn_cache",
52
- standardize=False
53
- )
54
-
55
- # Apply masker to functional map
56
- functional_map_parc = masker.fit_transform(functional_map)
57
-
58
- # Make sure the results are one-column
59
- functional_map_parc = functional_map_parc.flatten()
48
+ # Use the Parcellator object from neuromaps to apply the atlas to the functional map
49
+ parcellator = Parcellater(this_atlas_volume_path, 'MNI152')
50
+ functional_map_parc = parcellator.fit_transform(functional_map, 'MNI152', True).squeeze()
60
51
 
61
52
  # Merge region and index
62
53
  functional_map_parc_df = pd.DataFrame({'Functional_Map': func_name,
@@ -0,0 +1,45 @@
1
+ # Necessary imports
2
+ import pandas as pd
3
+ import numpy as np
4
+
5
+ # Files
6
+ from importlib.resources import files
7
+
8
+ def get_atlas_regions(atlas_name):
9
+ """Print the names of regions in a given subcortical/cerebellar atlas.
10
+ Parameters
11
+ ----------
12
+ atlas_name : str
13
+ Name of the subcortical/cerebellar atlas.
14
+
15
+ Returns
16
+ -------
17
+ np.ndarray
18
+ Array of region names in the specified atlas, ordered by segmentation index.
19
+ """
20
+
21
+ # If the atlas is the SUIT cerebellar lobules, use hemisphere of 'both'
22
+ if atlas_name == 'SUIT_cerebellar_lobule':
23
+ hemisphere = 'both'
24
+
25
+ # Load ordering file
26
+ atlas_ordering = pd.read_csv(files("subcortex_visualization.data").joinpath(f"{atlas_name}_{hemisphere}_ordering.csv"))
27
+
28
+ # Identify regions for left/right cerebellar cortex versus vermis
29
+ hemisphere_regions = atlas_ordering.query("Hemisphere == 'L'").sort_values('seg_index').region.unique()
30
+ vermis_regions = atlas_ordering.query("Hemisphere=='V'").sort_values('seg_index').region.unique()
31
+
32
+ # Return both lists of regions as a tuple
33
+ return (hemisphere_regions, vermis_regions)
34
+
35
+ # Else, use left hemisphere just to get names
36
+ else:
37
+ hemisphere='L'
38
+
39
+ # Load ordering file
40
+ atlas_ordering = pd.read_csv(files("subcortex_visualization.data").joinpath(f"{atlas_name}_{hemisphere}_ordering.csv"))
41
+
42
+ # Sort by segmentation index and print the array of region names
43
+ unique_regions = atlas_ordering.sort_values('seg_index').region.unique()
44
+
45
+ return unique_regions
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: subcortex_visualization
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: A package to visualize subcortical and cerebellar brain data in two dimensions.
5
5
  Author: Annie G. Bryant
6
6
  Author-email: "Annie G. Bryant" <anniegbryant@gmail.com>
@@ -23,9 +23,9 @@ License-File: LICENSE.txt
23
23
  Dynamic: author
24
24
  Dynamic: license-file
25
25
 
26
- # Subcortical data visualization in 2D
26
+ # subcortex_visualization: A toolbox for custom data visualization in the subcortex and cerebellum
27
27
 
28
- [![DOI](https://zenodo.org/badge/965897997.svg)](https://doi.org/10.5281/zenodo.15385315)
28
+ [![DOI:10.64898/2026.01.23.699785](http://img.shields.io/badge/DOI-10.1101/2021.01.08.425840-B31B1B.svg)](https://doi.org/10.64898/2026.01.23.699785)
29
29
 
30
30
  This package (implemented in Python and R) currently includes the following nine subcortical and cerebellar atlases for data visualization in two-dimensional vector graphics:
31
31
 
@@ -36,11 +36,11 @@ More information about these atlases, including the process of rendering the sur
36
36
  ## 🙋‍♀️ Motivation
37
37
 
38
38
  This visualization package was created to generate two-dimensional subcortex images in the style of the popular [`ggseg` package](https://github.com/ggseg/ggseg) in R.
39
- We based our vector graphic outlines on the three-dimensional subcortical meshes either (1) provided as part of the [ENIGMA toolbox](https://github.com/MICA-MNI/ENIGMA) for the aseg atlas or (2) meshes generated in-house using rendering software from [Chris Rorden's lab](https://github.com/neurolabusc) ([Surf Ice](https://github.com/neurolabusc/surf-ice); check out [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation_pipeline) for more information).
39
+ We based our vector graphic outlines on the three-dimensional subcortical meshes either (1) provided as part of the [ENIGMA toolbox](https://github.com/MICA-MNI/ENIGMA) for the aseg atlas or (2) meshes generated in-house using rendering software from [Chris Rorden's lab](https://github.com/neurolabusc) ([Surf Ice](https://github.com/neurolabusc/surf-ice); check out [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation) or the [project website page](https://anniegbryant.github.io/subcortex_visualization/custom_segmentation/) for more information).
40
40
 
41
41
  The below graphic summarizes the transformation from 3D volumetric meshes to 2D surfaces, starting from the [Melbourne Subcortex Atlas](https://github.com/yetianmed/subcortex/tree/master) as published in [Tian et al. (2020)](https://www.nature.com/articles/s41593-020-00711-6) at the 'S1' resolution.
42
42
 
43
- <img src="docs-site/docs/images/Melbourne_S1_subcortical_atlas_info.png" width="90%">
43
+ <img src="docs-site/docs/images/Melbourne_S1_subcortical_atlas_info.png" width="50%">
44
44
 
45
45
  While [`ggseg`](https://github.com/ggseg/ggseg) offers subcortical plotting with the `aseg` atlas, it is [not currently possible](https://github.com/ggseg/ggseg/issues/104) to show data from all seven subcortical regions (accumbens, amygdala, caudate, hippocampus, pallidum, putamen, thalamus) in the same figure.
46
46
  Moreover, there is currently no other software available to visualize any of the other above subcortical, thalamic, or cerebellar atlases in two dimensions with real data, motivating the development of this package.
@@ -89,12 +89,12 @@ plot_subcortical_data(hemisphere='L', cmap='plasma',
89
89
  fill_title = "Subcortical region index")
90
90
  ```
91
91
 
92
- <img src="docs-site/docs/images/example_aseg_subcortex_plot.png" width="80%">
92
+ <img src="docs-site/docs/images/example_aseg_subcortex_plot.png" width="60%">
93
93
 
94
94
 
95
95
  ### 📚 Tutorial
96
96
 
97
- For a guide that goes through all the functionality and atlases available in this package, we compiled a simple walkthrough tutorial in [tutorial.ipynb](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial.ipynb).
97
+ For a guide that goes through all the functionality and atlases available in this package, we compiled a simple walkthrough tutorial in Python ([tutorial.ipynb](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial.ipynb)) and R ([tutorial_R.md](https://github.com/anniegbryant/subcortex_visualization/blob/main/tutorial_R.md)).
98
98
  To plot real data in the subcortex, your `subcortex_data` should be a Python `pandas.DataFrame` or an R `data.frame` structured as follows (here we've just assigned an integer index to each region):
99
99
 
100
100
  | region | value | Hemisphere |
@@ -141,11 +141,11 @@ plot_subcortical_data(subcortex_data=example_continuous_data, atlas='aseg',
141
141
  cmap=white_blue_red_cmap, midpoint=0)
142
142
  ```
143
143
 
144
- <img src="docs-site/docs/images/example_aseg_subcortex_normdist.png" width="80%">
144
+ <img src="docs-site/docs/images/example_aseg_subcortex_normdist.png" width="75%">
145
145
 
146
- ### Available atlases
146
+ ### 🗺️ Available atlases
147
147
 
148
- The following nine subcortical atlases are currently supported with more information at the [project website](https://anniegbryant.github.io/subcortex_visualization/atlas_info/):
148
+ The following subcortical and cerebellar atlases are currently supported with more information at the [project website](https://anniegbryant.github.io/subcortex_visualization/atlas_info/):
149
149
 
150
150
  * `aseg`: The `aseg` parcellation atlas from FreeSurfer
151
151
  * `Melbourne_S1`: The Melbourne Subcortex Atlas at granularity level S1, from [Tian et al. *Nature Neuroscience* (2020)](https://www.nature.com/articles/s41593-020-00711-6)
@@ -157,10 +157,17 @@ The following nine subcortical atlases are currently supported with more informa
157
157
  * `Thalamus_Nuclei_HCP`: The thalamic nuclei atlas derived from HCP data, from [Najdenovska et al. *Scientific Data* (2018)](https://www.nature.com/articles/sdata2018270)
158
158
  * `SUIT`: The SUIT cerebellum atlas, from [Diedrichsen *Neuroimage* (2006)](https://doi.org/10.1016/j.neuroimage.2006.05.056)
159
159
 
160
+ ### 🌟 Atlas wishlist
161
+
162
+ These atlases are on the 'vision board' for me to add to the package next (community pull requests absolutely welcome to incorporate these in the meantime):
163
+
164
+ * Thalamus-Optimized Multi-Atlas Segmentation (THOMAS) atlas: High-resolution segmentation of thalamic nuclei ([file link](https://zenodo.org/records/5499504)), recently expanded to all deep grey nuclei as described in [Saranathan et al. (2025)](https://doi.org/10.1002/hbm.70350)
165
+ * Brainstem (suggested by [@RaviBot](https://github.com/RaviBot)): Brainstem Navigator atlas ([file link](https://www.nitrc.org/projects/brainstemnavig)), as described in [Bianciardi et al. (2015)](https://doi.org/10.1089/brain.2015.0347)
166
+ * CIT168 Reinforcement Learning Atlas (suggested by [@GalKepler](https://github.com/GalKepler)): Subcortical atlas ([file link](https://osf.io/jkzwp/wiki)) that includes the principal nuclei involved in reinforcement learning, as described in [Pauli et al. (2018)](https://doi.org/10.1038/sdata.2018.63)
160
167
 
161
168
  ## 💡 Want to generate your own mesh and/or parcellation?
162
169
 
163
- <img src="docs-site/docs/images/custom_vector_method.png" width="70%">
170
+ <img src="docs-site/docs/images/custom_vector_method.png" width="60%">
164
171
 
165
172
  This package provides nine subcortical, thalamic, and cerebellar atlases as a starting point.
166
173
  The workflow can readily be extended to your favorite segmentation atlas, though!
@@ -168,21 +175,39 @@ We have a dedicated folder for a custom segmentation pipeline that will walk you
168
175
  1. Rendering a series of triangulated surface meshes from your parcellation atlas (starting from a .nii.gz volume), using the [`surfice_atlas`](https://github.com/neurolabusc/surfice_atlas) software, both developed by [Chris Rorden's lab](https://github.com/rordenlab); and
169
176
  2. Tracing the outline of each region in the rendered mesh in vector graphic editing software (we use Inkscape in the tutorial as a powerful and free option), to yield a two-dimensional image of your atlas in scalable vector graphic (.svg) format.
170
177
 
171
- Check out the walkthrough in the [`custom_segmentation_pipeline/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation_pipeline) folder for more information on how to render your own volumetric segmentation with an interactive mesh and convert to a two-dimensional vector graphic that can be integrated with this package.
178
+ Check out the walkthrough in the [`custom_segmentation/`](https://github.com/anniegbryant/subcortex_visualization/tree/main/custom_segmentation) folder or the [project website page](https://anniegbryant.github.io/subcortex_visualization/custom_segmentation/) for more information on how to render your own volumetric segmentation with an interactive mesh and convert to a two-dimensional vector graphic that can be integrated with this package.
172
179
 
173
- ## 🙏 Acknowledgments
180
+ ## 🔗 Citing this package
174
181
 
175
- Thank you very much to [Chris Rorden](https://github.com/rordenlab), [Ye Tian](https://github.com/yetianmed), and [Sid Chopra](https://github.com/sidchop) for their suggestions and continued development of open tools for neuroimaging visualization that enabled the development of this project!
182
+ If you use this package in a scientific publication, blog post, etc., please read and cite the [associated preprint](https://www.biorxiv.org/content/10.64898/2026.01.23.699785):
176
183
 
177
- We're also very grateful for ongoing contributions from members of the GitHub community:
184
+ * 📕 Bryant, Annie G. (2026). Subcortex visualization: A toolbox for custom data visualization in the subcortex and cerebellum. *bioRxiv*, 2026-01. doi:10.64898/2026.01.23.699785.
178
185
 
179
- [![Contributors](https://contrib.rocks/image?repo=anniegbryant/subcortex_visualization)](https://github.com/anniegbryant/subcortex_visualization/graphs/contributors)
186
+ <details closed>
187
+ <summary>Click here for a BibTex reference:</summary>
180
188
 
181
- ## 🔗 Citing this package
189
+ ```
190
+ @article{bryant2026subcortex,
191
+ title = {Subcortex visualization: A toolbox for custom data visualization in the subcortex and cerebellum},
192
+ url = {https://www.biorxiv.org/content/10.64898/2026.01.23.699785},
193
+ doi = {10.64898/2026.01.23.699785},
194
+ journal = {bioRxiv},
195
+ publisher={Cold Spring Harbor Laboratory},
196
+ author = {Bryant, Annie G.},
197
+ pages = {2026--01},
198
+ year = {2026}
199
+ }
200
+ ```
201
+
202
+ </details>
203
+
204
+ ## 🙏 Acknowledgments
182
205
 
183
- If you use this package in a scientific publication, blog post, etc., please cite the corresponding Zenodo release as follows:
206
+ Thank you very much to [Sidhant Chopra](https://github.com/sidchop), [Chris Rorden](https://github.com/rordenlab), [Justine Hansen](https://github.com/justinehansen), and [Ye Tian](https://github.com/yetianmed) for their suggestions and continued development of open tools for neuroimaging visualization that enabled the development of this project!
184
207
 
185
- Annie G. Bryant. (2025). anniegbryant/subcortex_visualization: Initial Zenodo release (initial_release). Zenodo. https://doi.org/10.5281/zenodo.15385316
208
+ We're also very grateful for ongoing contributions from members of the GitHub community:
209
+
210
+ [![Contributors](https://contrib.rocks/image?repo=anniegbryant/subcortex_visualization)](https://github.com/anniegbryant/subcortex_visualization/graphs/contributors)
186
211
 
187
212
  ## ❓📧 Questions, comments, or suggestions always welcome!
188
213
 
@@ -1,20 +0,0 @@
1
- # Necessary imports
2
- import pandas as pd
3
- import numpy as np
4
-
5
-
6
- # Files
7
- from importlib.resources import files
8
-
9
- def get_atlas_regions(atlas_name):
10
-
11
- # Use left hemisphere just to get names
12
- hemisphere='L'
13
-
14
- # Load ordering file
15
- atlas_ordering = pd.read_csv(files("subcortex_visualization.data").joinpath(f"{atlas_name}_{hemisphere}_ordering.csv"))
16
-
17
- # Sort by segmentation index and print the array of region names
18
- unique_regions = atlas_ordering.sort_values('seg_index').region.unique()
19
-
20
- return unique_regions