• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A lightweight, interactive, extensible and cross-platform framework for building, visualizing and analyzing digital reconstructions of neuronal morphology skeletons extracted from microscopy stacks.

DOI

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.
  • 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

  • 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.

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.

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 available in this user guide.

Configuration Files

Users can easily configure and use NeuroMorphoVis via editable configuration files. Instructions to write and use configurations files are available in this user guide.

Gallery

Known Bugs or Feature Requests

Please refer to the github issue tracker for fixed and open bugs. User can also report any bugs and request new features needed for their research. We are happy to provide direct support .

Publications & Citation

If you use NeuroMorphoVis for your research, media design or other purposes, please cite our paper NeuroMorphoVis: a collaborative framework for analysis and visualization of neuronal morphology skeletons reconstructed from microscopy stacks using the following entry:

@article{abdellah2018neuromorphovis,
  title={NeuroMorphoVis: a collaborative framework for analysis and visualization of neuronal morphology 
  skeletons reconstructed from microscopy stacks},
  author={Abdellah, Marwan and Hernando, Juan and Eilemann, Stefan and Lapere, Samuel and Antille, 
  Nicolas and Markram, Henry and Sch{\"u}rmann, Felix},
  journal={Bioinformatics},
  volume={34},
  number={13},
  pages={i574--i582},
  year={2018},
  publisher={Oxford University Press}
}

The supplementary material of this paper is also available in this document.

The core algorithms of the soma and mesh reconstruction modules are described in this paper Reconstruction and visualization of large-scale volumetric models of neocortical circuits for physically-plausible in silico optical studies

@article{abdellah2017reconstruction,
  title={Reconstruction and visualization of large-scale volumetric models of neocortical circuits 
  for physically-plausible in silico optical studies},
  author={Abdellah, Marwan and Hernando, Juan and Antille, Nicolas and Eilemann, Stefan and 
  Markram, Henry and Sch{\"u}rmann, Felix},
  journal={BMC bioinformatics},
  volume={18},
  number={10},
  pages={402},
  year={2017},
  publisher={BioMed Central}
}

The mesh generation algorithm with skin modifiers is described in this paper Generating High Fidelity Surface Meshes of Neocortical Neurons using Skin Modifiers

@inproceedings{abdellah2019generating,
  booktitle={Computer Graphics and Visual Computing (CGVC)},
  editor={Vidal, Franck P. and Tam, Gary K. L. and Roberts, Jonathan C.},
  title={Generating High Fidelity Surface Meshes of Neocortical Neurons using Skin Modifiers},
  author={Abdellah, Marwan and Favreau, Cyrille and Hernando, Juan and Lapere, Samuel and Schürmann, Felix},
  year={2019},
  publisher={The Eurographics Association},
  isbn={978-3-03868-096-3},
  doi={10.2312/cgvc.20191257}
}

The applications of NeuroMorhoVis are deomnstrated in the thesis In silico Brain Imaging: Physically-plausible Methods for Visualizing Neocortical Microcircuitry

@phdthesis{abdellah2017insilico:232444,
  title = {In Silico Brain Imaging Physically-plausible Methods for Visualizing 
  Neocortical Microcircuitry},
  author = {Abdellah, Marwan},
  publisher = {EPFL},
  address = {Lausanne},
  pages = {400},
  year = {2017}
}

Publications that use or mention NeuroMorphoVis

An exhaustive list of all the publications that use or mention NeuroMorphoVis is available in this Wiki page.

Acknowledgement & Funding

NeuroMorphoVis is developed by the Visualization team at the Blue Brain Project, Ecole Polytechnique Federale de Lausanne (EPFL) as part of Marwan Abdellah's PhD (In silico Brain Imaging: Physically-plausible Methods for Visualizing Neocortical Microcircuitry). Financial support was provided by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology, and by competitive research funding from King Abdullah University of Science and Technology (KAUST).

License

NeuroMorphoVis is available to download and use under the GNU General Public License (GPL, or “free software”). The code is open sourced with approval from the open sourcing committee and principal coordinators of the Blue Brain Project in December 2019.

Copyright (c) 2016-2023 Blue Brain Project/EPFL

Attributions

  • Blender (C) is copyright to Blender Foundation. The Blender Foundation is a non-profit organization responsible for the development of Blender. Blender is released under the GNU Public License, as Free Software, and therefore can be distributed by anyone freely.

  • Slurm, is a free and open-source job scheduler for Linux and Unix-like kernels, used by many of the world's supercomputers and computer clusters. Slurm is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

  • The SWC morphology samples are available from NeuroMorpho.Org. NeuroMorpho.Org is a centrally curated inventory or repository of digitally reconstructed neurons associated with peer-reviewed publications.

  • The H5 morphology samples are available with permissions from the Blue Brain Project, Ecole Polytechnique Federale de Lausanne (EPFL).

  • The analysis plots are created based on Matplotlib and Seaborn. Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python and Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics. Matplotlib only uses BSD compatible code, and its license is based on the PSF license. Seaborn uses BSD license.

  • The analysis distributions are gathered into a single PDF using PyPDF2. PyPDF2 is a pure-python PDF library capable of splitting, merging together, cropping, and transforming the pages of PDF files. PyPDF2 uses the BSD License.

  • The table of contents for all the user documentation pages are generated with markdown-toc.

Contact

For more information on NeuroMorphoVis, comments or suggestions, please contact:

Marwan Abdellah
Scientific Visualiation Expert
Visualization Team, Computing Division
Blue Brain Project
[email protected]
marwan-abdellah.com

Navigation

More Repositories

1

HighFive

HighFive - Header-only C++ HDF5 interface
C++
675
star
2

Brayns

Visualizer for large-scale and interactive ray-tracing of neurons
C++
284
star
3

nexus

Blue Brain Nexus - A knowledge graph for data-driven science
Scala
269
star
4

BluePyOpt

Blue Brain Python Optimisation Library
Python
196
star
5

CoreNeuron

Simulator optimized for large scale neural network simulations.
C++
135
star
6

NeuroM

Neuronal Morphology Analysis Tool
Python
102
star
7

eFEL

Electrophys Feature Extraction Library
Python
63
star
8

BioExplorer

The Blue Brain BioExplorer (BBBE) is a tool for data visualization experts and scientists to extract and analyze scientific data from visualization and interactive exploration
C++
61
star
9

nmodl

Code Generation Framework For NEURON MODeling Language
C++
55
star
10

Tide

Tiled Interactive Display Environment
C++
47
star
11

MOOC-neurons-and-synapses-2017

Reference data for the "Simulation Neuroscience:Neurons and Synapses" Massive Online Open Course
Jupyter Notebook
43
star
12

Search

Blue Brain text mining toolbox for semantic search and structured information extraction
Python
40
star
13

Rockets

REST and websockets C++ library
C++
39
star
14

nexus-forge

Building and Using Knowledge Graphs made easy
Python
38
star
15

NeuroTS

Topological Neuron Synthesis
Python
36
star
16

VessMorphoVis

A lightweight, interactive, extensible and cross-platform framework for building, visualizing and analyzing vasculature (or blood vessels) morphologies.
Python
35
star
17

BlueGraph

Python framework for graph analytics and co-occurrence analysis
Python
31
star
18

Livre

Large-scale Interactive Volume Rendering Engine
C++
31
star
19

RTNeuron

Interactive visualization framework for geometrically detailed neuron simulations
C++
30
star
20

TMD

A python package for the topological analysis of neurons.
Python
28
star
21

MorphIO

A python and C++ library for reading and writing neuronal morphologies
C++
26
star
22

SimulationTutorials

Public tutorials around electrophysiological simulations
Jupyter Notebook
26
star
23

Ultraliser

Reconstruction of watertight meshes, annotated volumes and center line skeletons of neuroscience spatial structures from non-watertight inputs, segmented masks, skeletons of NGV morphologies and volumes.
C++
26
star
24

bluima

Natural Language Processing Toolkit for Neuroscience
Java
24
star
25

Brion

Blue Brain C++ File IO Library
C++
23
star
26

Deflect

C++ library for building applications to stream pixels to Tide
C++
21
star
27

bbp-nixpkgs

Blue Brain Project nixpkgs configuration - Build a brain with Nix
Nix
19
star
28

snap

The Blue Brain Pythonic Simulation and Network Analysis Productivity layer
Python
17
star
29

Atlas-Download-Tools

Search, download, and prepare brain atlas data.
Python
17
star
30

nexus-web

Nexus Web is the interface of Blue Brain Nexus
TypeScript
16
star
31

nexus-kg

Nexus KnowledgeGraph Service
Scala
16
star
32

neurocurator

Desktop application (GUI) to perform systematic and collaborative curation of neuroscientific literature.
Python
15
star
33

osgTransparency

OSG render bins for transparent geometry
C
14
star
34

BluePyEfe

BluePyEfe: Blue Brain Python E-feature extraction
Python
14
star
35

EModelRunner

Runs cells from stand-alone packages.
Python
14
star
36

BlueCelluLab

Biologically detailed neural network simulations and analysis API
Python
12
star
37

BluePyMM

Blue Brain Python Cell Model Management
Python
12
star
38

cyme

Framework to facilitate SIMD programming, without any tedious SIMD intrinsics.
C++
12
star
39

libsonata

A python and C++ interface to the SONATA format
C++
11
star
40

atlas-alignment

Blue Brain multi-modal registration and alignment toolbox
Python
11
star
41

dash

Data Access and Sharing
C++
10
star
42

Long-range-micro-connectome

BlueBrain's recipe writer to parameterize structure and logic of a mouse whole-neocortex connectome
Python
10
star
43

nexus-js

A set of JavaScript libraries built on top of Nexus
TypeScript
10
star
44

bluebrain.github.com

API documentation for BlueBrain projects:
HTML
10
star
45

nexus-bbp-domains

BBP domains specification (schemas, vocabularies)
Scala
9
star
46

NeuroR

A collection of tools to repair morphologies
Python
9
star
47

neurodamus

A BBP Simulation Control application for NEURON
Python
8
star
48

singlecell-emodel-suite

8
star
49

luigi-tools

Extra tools to work with the Luigi library
Python
8
star
50

learning_musculoskeletal_arm_control

This repository contains the source code of the paper titled "Optimum trajectory learning in musculoskeletal systems with model predictive control and deep reinforcement learning".
Python
8
star
51

AstroVascPy

Vasculature blood flow computation and impact of astrocytic endfeet on vessels
Python
8
star
52

MOOC-hippocampus-network-simulation-2019

Jupyter Notebook
8
star
53

morphoclass

Neuronal morphology preparation and classification using Machine Learning.
Python
7
star
54

nat

Python module to use the annotations created with NeuroCurator, for example in a Jupyter notebook.
Jupyter Notebook
7
star
55

morph-tool

Python
7
star
56

spack-packages

Repository of spack external packages
Python
7
star
57

hpc-coding-conventions

Python
7
star
58

Pydoxine

Python docstring generation for C++ projects using boost::python
Python
7
star
59

data-validation-framework

Simple framework to create data validation workflows.
Python
7
star
60

SSCxEModelExamples

Jupyter Notebook
7
star
61

nexus-prov

SHACL shapes for W3C PROV-O
Scala
7
star
62

Currentscape

Currentscape is a Python tool enabling scientists to easily plot the currents in electrical neuron models. The code is based on the paper Alonso and Marder, 2019.
Python
7
star
63

nexus-search-webapp

The Searchable Knowledge-Graph Application
JavaScript
6
star
64

nexus-python-sdk

A Python API to interface with Nexus REST API
Python
6
star
65

voxcell

Tools to work with voxel based brain atlases.
Python
5
star
66

bluepyentity

Manage entities within the knowledge graph
Jupyter Notebook
5
star
67

blueetl

Multiple simulations analysis tool
Python
5
star
68

nexus-iam

Nexus IAM Service
Scala
5
star
69

Deep-Atlas

Python
5
star
70

dir-content-diff

Simple tool to compare directory contents and get differences using smart comparators.
Python
5
star
71

ConnectomeUtilities

Connectome Utilities
Python
5
star
72

me-features-to-mo-ID-mapping

Python
4
star
73

Monsteer

Interactive Supercomputing Tools and Library
C++
4
star
74

BluePyEModel

Blue Brain Python Electrical Modeling Pipeline
Python
4
star
75

hippocampus-workshop

Jupyter Notebook
4
star
76

morphology-suite

4
star
77

BlueNaaS-Subcellular

A web environment for the simulation of brain molecular networks.
Vue
4
star
78

atlas-annotation

Align and improve brain annotation atlases
Python
4
star
79

morphology-workflows

Workflows used for morphology processing.
Python
4
star
80

basalt

C++11 Graph Storage library
C++
4
star
81

sphinx-bluebrain-theme

The Blue Brain Project's documentation theme.
HTML
4
star
82

codash

Collage-based distribution of DASH entities
C++
4
star
83

neuromapp

The neuromapp library reproduces the algorithms of the main software of the BBP as a collection of mini-apps
C++
4
star
84

EMSim

EMSim is a library that compute different electro-magnetic effects like LPF and VSD.
C++
3
star
85

atlas-direction-vectors

Tools to compute direction vectors in the context of brain atlases.
Python
3
star
86

nexus-service

Building blocks commonly used in Nexus services
Scala
3
star
87

emodel-generalisation

Generalisation of electrical models of neurons with MCMC
Python
3
star
88

morphology-documentation

Morphology Specifications used at BBP
Makefile
3
star
89

RenderingResourceManager

A Python based service managing rendering resources for visualization web services
Python
3
star
90

nexus-cli

A Command Line Interface (CLI) for Nexus
Python
3
star
91

sbt-nexus

An SBT Plugin for building Nexus Scala based projects
Scala
3
star
92

DMT

Python
3
star
93

atlas-densities

Tools to compute densities in the context of brain atlases.
Python
3
star
94

git-cmake-format

CMake
3
star
95

diameter-synthesis

Synthesize diameters of neuronal morphologies
Python
3
star
96

mod2c

Converter for mod files to C code
C
3
star
97

neurox

A parallel & distributed asynchronous simulator of extended Hodgkin-Huxley neuron models
C++
3
star
98

neuroagent

LLM agent made to communicate with different neuroscience related tools
Python
3
star
99

me-types-mapper

Python
2
star
100

bluima_resources

Resource files for bluima
2
star