Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2026 Sep 23.
Published in final edited form as: Nat Methods. 2025 Aug;22(8):1615–1616. doi: 10.1038/s41592-025-02764-6

Surfice: visualizing neuroimaging meshes, tractography streamlines and connectomes

Christopher Rorden 1
PMCID: PMC13596238  NIHMSID: NIHMS2208357  PMID: 40707712

Abstract

Visualization of surface meshes, tractography fibers, and connectomes aids neuroimaging inference and communication. Surfice reads and displays various popular neuroimaging formats, using specialized shader programs that can display surface and embedded structures simultaneously. Python scripting enhances usability for both new and advanced users, enabling task automation. By dividing tasks between the complementary voxel-based MRIcroGL and vertex-based Surfice interfaces, users can efficiently manage complex data without an overwhelming user interface.


While medical imaging data is acquired volumetrically, it is often useful to represent the data in other geometries, such as cortical surface meshes 1. Additionally, diffusion-weighted data can be used to estimate fiber tracts, which are often modeled and visualized as streamlines 1,2.

Both structural and functional neuroimaging data can be modeled as connectomes which capture the connection strengths and centrality between node based networks 3. This division of labor for voxel- and vertex-based representations is carried out by MRIcroGL and Surfice, respectively. These two companion tools share common user interface elements, helping users transfer skills between them, even though they deal with very different types of data. By dividing these tasks, the goal is to prevent the user interface from becoming overwhelming.

Surfice is able to automatically detect and load popular neuroimaging mesh formats including AFNI’s SUMA 4, CIFTI 1, FreeSurfer 5, GIFTI, MNI OBJ, VTK, and its own native MZ3 format. Surfice can also load the per-vertex value variations of these formats that are used for statistical maps, atlas colors and curvature scalars (Figure 1 shows statistical maps and uses curvature to darken sulci). Surfice is also able to read many popular common general purpose mesh formats including Colada DAE, PLY, STL, and Wavefront OBJ, as well as a wide range of streamline formats including those generated by AFNI 6, Dipy 7, and MRtrix 2.

Figure 1:

Figure 1:

A. The Surfice user interface. The collapsible view panel on the left (1) provides options to adjust the appearance of the objects. The middle panel (2) displays the main image. The collapsible scripting panel on the right (3) allows users to automate the software. B.-H.: The middle row illustrates different methods to visualize cortical and subcortical structures simultaneously: B. wireframe C. viewpoint independent curvature thresholds to hide sulci or gyri C. viewpoint-dependent silhouette rendering D. and modifying transparency. F-H: The bottom row shows different supported object types. F. atlases, G. streamlines H. connectomes.

Under the hood, Surfice leverages hardware acceleration for interactive graphics. The cross-platform source code supports the Linux, MacOS, and Windows operating systems, the x86-64 and ARM architectures and the OpenGL 2.1 and 3.3 Core graphics Application Programming Interfaces. The default distribution uses OpenGL 3.3 Core, which is supported by major graphics card manufacturers (Apple, AMD, Intel, Nvidia) and ensures support for geometry shaders that are utilized by many included shader programs such as the wireframe (Figure 2). As previously noted, some mesh formats explicitly include values that darken crevices (e.g. sulci) and brighten ridges (gyri). However, Surfice also provides the user with a slider that adjusts the screen space ambient occlusion 8 to compute these effects in real time. For example the sulci in the bottom left panel of Figure 2 are darkened using this method. Streamlines pose a dilemma for contemporary graphics languages. These can classically be drawn either as lines or extruded as cylinders. Modern graphics languages limit lines to a single pixel, which can be tiny on modern high pixel density monitors. On the other hand, the combination of tractography density and cylinder complexity can overwhelm modern graphics cards. Surfice allows the user to choose to display streamlines as cylinders, or as 2D imposters that simulate cylinders with a fraction of the overhead 9.

Surfice is a native desktop application that utilizes the native widget set of each operating system it supports. It includes a Python interpreter, offering full scripting capabilities that not only manipulate the mesh but also dynamically update the user interface. This feature allows new users to explore the software’s potential by selecting from numerous default scripts found in the ‘Templates’ menu under ‘Scripting.’ For advanced users, Surfice enables the creation of custom scripts to automate complex tasks and ensure reproducibility. One limitation of the tool is that while native desktop applications like Surfice offer advantages in terms of familiar usability and direct file access, web-based 10 tools excel in environments suited for cloud and edge computing.

In conclusion, Surfice stands out as a powerful tool for visualizing surface meshes, tractography fibers, and connectomes, making it an essential resource for neuroimaging inference and communication. It supports a wide range of neuroimaging formats, and leverages custom shaders to efficiently reveal both cortical and subcortical structures. Its Python scripting capabilities cater to users of all experience levels, enabling both exploration and automation. Paired with MRIcroGL, Surfice provides a complementary approach to managing voxel-based and vertex-based data, ensuring that users can seamlessly transition between different types of neuroimaging tasks without being overwhelmed by the interface. This thoughtful division of tasks, and the shared user interface elements between the two tools, make them indispensable to the neuroimaging community.

Acknowledgements

CR was supported by NIH RF1-MH133701 and P50-DC01466.

Footnotes

Competing interests

The author declares no competing interests.

Code availability

Surfice is free open-source software available under the permissive BSD 2-Clause license. Source code is available via GitHub at https://github.com/neurolabusc/surf-ice. Compiled code and MediaWiki is available at https://www.nitrc.org/projects/surfice/.

References

  • 1.Marcus DS. et al. Informatics and data mining tools and strategies for the human connectome project. Front. Neuroinform. 5, 4 (2011) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 2.Tournier J-D. et al. MRtrix3: A fast, flexible and open software framework for medical image processing and visualisation. Neuroimage 202, 116137 (2019) [DOI] [PubMed] [Google Scholar]
  • 3.Wiesen D, Bonilha L, Rorden C. & Karnath H-O. Disconnectomics to unravel the network underlying deficits of spatial exploration and attention. Sci. Rep. 12, 22315 (2022) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 4.Saad ZS, Reynolds RC, Argall B, Japee S. & Cox RW. SUMA: an interface for surface-based intra- and inter-subject analysis with AFNI. in 2004 2nd IEEE International Symposium on Biomedical Imaging: Nano to Macro (IEEE Cat No. 04EX821) 1510–1513 Vol. 2 (2004). [Google Scholar]
  • 5.Dale AM, Fischl B. & Sereno MI. Cortical surface-based analysis. I. Segmentation and surface reconstruction. Neuroimage 9, 179–194 (1999) [DOI] [PubMed] [Google Scholar]
  • 6.Taylor PA. & Saad ZS. FATCAT: (an efficient) Functional and Tractographic Connectivity Analysis Toolbox. Brain Connect. 3, 523–535 (2013) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7.Garyfallidis E. et al. Dipy, a library for the analysis of diffusion MRI data. Front Neuroinform 8, 8 (2014) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.Miller G. Efficient algorithms for local and global accessibility shading. in Proceedings of the 21st annual conference on Computer graphics and interactive techniques - SIGGRAPH ’94 (ACM Press, New York, New York, USA, 1994). doi: 10.1145/192161.192244. [DOI] [Google Scholar]
  • 9.Nesi LL, Rorden C. & Munsell BC. A simple and efficient cylinder imposter approach to visualize DTI fiber tracts. in Connectomics in NeuroImaging 89–97 (Springer International Publishing, Cham, 2017). [Google Scholar]
  • 10.Sherif T, Kassis N, Rousseau M-É, Adalat R. & Evans AC. BrainBrowser: distributed, web-based neurological data visualization. Front Neuroinform 8, 89 (2014) [DOI] [PMC free article] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Surfice is free open-source software available under the permissive BSD 2-Clause license. Source code is available via GitHub at https://github.com/neurolabusc/surf-ice. Compiled code and MediaWiki is available at https://www.nitrc.org/projects/surfice/.

RESOURCES