NeuroMorphoVis
A lightweight, interactive, extensible and cross-platform framework for building, visualizing and analyzing digital reconstructions of neuronal morphology skeletons extracted from microscopy stacks.
Install / Use
/learn @BlueBrain/NeuroMorphoVisREADME
Note
As the Blue Brain Project has been concluded in December 2024, this repository is archived. For any support or inquiries, please contact abdellah.marwan@gmail.com.
<p align="center"> <img src="https://github.com/BlueBrain/NeuroMorphoVis/wiki/images/logos/nmv-banner.jpeg" width=1200> </p>Introduction
Features
- Automated analysis of neuronal morphology skeletons that are digitally reconstructed from optical microscopy stacks.
- An easy context to load broken morphology skeletons and repair them manually.
- Sketching and building three-dimensional representations of the morphology skeletons using various methods for visual analytics.
- Dendrogram visualization and rendering.
- Visualization of spines and synapses for neuronal morphologies of digitally reconstructed BBP circuits using BluePy.
- Automated reconstruction of accurate three-dimensional somata profiles, even with classical morphology skeletons that do not have any three-dimensional data of their somata. This approach uses the physics engine of Blender based on Hooke's law and mass spring models.
- Automated reconstruction of polygonal mesh models that represent the membranes of the neuronal morphologies based on the piecewise meshing method presented by Abdellah et al., 2017.
- Accurate mesh reconstruction with metaballs to handle morphologies with irregular and small branching angles.
- Watertight mesh reconstruction using voxelization based remeshing (in Blender 3.0 onwards) for reaction-diffusion simulations Abdellah et al., 2024.
- Automated generation of high quality media for scientific documents and publications using different shading styles and materials.
- High fidelity mesh reconstruction based on Skin modifiers as presented by Abdellah et al., 2019.
- Robust mesh reconstruction of synthetic astroglial cells using Metaballs and implicit geometries Abdellah et al., 2021
- Fast mesh reconstruction of spiny neuronal morohologies based on union operators for rendering transparent meshes Abdellah et al., 2022.
- Multiple interfaces: user-friendly graphical user interface, a rich command line interface, editable configuration files and a high level python API for python scripting.
- Importing morphologies in multiple file formats including SWC, H5, Neurolucida ASCII format or even from a BBP circuit using GIDs and cell targets.
- Exporting the reconstructed meshes in several file formats including PLY, OBJ, STL and also as a Blender file (.blend).
- Parallel batch processing on multi-node visualization clusters using SLURM workload manager.
News
- 01.2025: This repository will be archived as the Blue Brain Project has been concluded.
- 09.2024: Paper: The voxelization-based remeshing algorithm is now published in Oxford Briefing in Bioinformatics, more information.
- 05.2023: Blender 3.0 will be no longer supported by NeuroMorphoVis from October 2024. Please use Blender 3.5 or later.
- 08.2024: Adding support to run on Windows 10 and Windows 11.
- 06.2023: New logo release.
- 05.2023: Release 1.9.0
- 05.2023: Blender 2.79 and 2.8 are no longer supported by NeuroMorphoVis.
- 04.2023: Implementation of the Voxelization-based remeshing to create watertight mesh models of neurons and astrocytes.
- 03.2023: Adding the Synaptics panel to NeuroMorphoVis.
- 09.2022: Paper, Generating high fidelity surface meshes of neocortical neurons using skin modifiers, in EG Computer Graphics and Visual Computing (CGVC) 2022, more information.
- 04.2020: Release 1.4.5
- 09.2019: Paper: Generating High Fidelity Surface Meshes of Neocortical Neurons using Skin Modifiers, in EG Computer Graphics and Visual Computing (CGVC) 2019, more information.
- 05.2019: Release 1.3.1
- 03.2019: Release 1.3.0
- 10.2018: Release 1.0.0
- 07.2018: NeuroMorphoVis' core paper is published in Oxford Bioinformatics, more information.
Package Details
NeuroMorphoVis is mainly based on Blender. Blender is a free software and can be downloaded from Blender.org. Blender is released under the GNU General Public License (GPL, or “free software”). The current version of NeuroMorphoVis is compatible with the following Blender versions:
Nevertheless, it is recommended to avoid version 2.79 and use version 3.5.
NeuroMorphoVis can be downloaded as a binary archive bundled within Blender that can be easily extracted and used out-of-the-box. The optional dependencies are already shiped within this archive using pip on each respective platform. This package (released every minor version update of the software) is recommended for Windows users or those who cannot use the Terminal. Otherwise, users can just download an installation script that will automatically install the entire package to a user-specified directory. This script does not require sudo permissions.
Installation
NeuroMorphoVis can be installed to a user-specified directory from a Unix (Linux or macOSX) terminal. Installation procedures are available in this page.
Downloading Package
NeuroMorphoVis packages are available for Ubuntu, RedHat, macOSX and Windows from the releases page. After downloading the package, users can load NeuroMorphoVis into Blender as explained in this page.
Interfaces
NeuroMorphoVis is primarily designed as a plug-in in Blender. It comes with a user-friendly GUI and a rich set of command line options. Moreover, the tool is configurable via input configuration files making it possible to link it to web interface or using it on massively parallel visualization clusters for batch production.
The tool is also extensible via its powerful python API that can be imported in Blender console and text browser.
GUI
To make it accessible to end users with minimal programming knowledge or even with no programming experience at all, the core functionality of NeuroMorphoVis is exposed to users via a friendly graphical user interface that would allow them to navigate and adjust the parameters of the different toolboxes seamlessly. A detailed guide to use NeuroMorphoVis from its GUI is available in this user guide.
<p align="center"> <img src="https://github.com/BlueBrain/NeuroMorphoVis/wiki/images/modules/panels/interface-2.8.jpeg" width=800> <figcaption><center>A screen shot of a neuronal morphology skeleton reconstructed by NeuroMorphoVis and sketched in the 3D view port of Blender. Note that the neurites are tagged with different colors (green for apical dendrite, red for basal dendrites and blue for the axon) and the soma (in yellow) is reconstructed as a realistic three-dimensional profile not as a sphere.</figcaption> </p>Command Line Options
NeuroMorphoVis has a rich command line interface that would make it easy to connect it to a web interface or use it to accomplish multiple tasks in an automated way. A list of all the command line options and their description are
