All Projects → navis-org → navis

navis-org / navis

Licence: GPL-3.0 license
Python 3 library for analysis of neuroanatomical data

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to navis

skeletor
3D skeleton extraction from meshes.
Stars: ✭ 115 (+69.12%)
Mutual labels:  neurons, volumes, meshes
brainreg-segment
Segmentation of 3D shapes in a common anatomical space
Stars: ✭ 13 (-80.88%)
Mutual labels:  neuroscience, segmentation, neuroanatomy
cellfinder
Automated 3D cell detection and registration of whole-brain images
Stars: ✭ 122 (+79.41%)
Mutual labels:  neuroscience, neuroanatomy
BodyParts3D
Clone of the BodyParts3D/Anatomography 3D model files
Stars: ✭ 32 (-52.94%)
Mutual labels:  anatomy, meshes
Pytorch connectomics
PyTorch Connectomics: segmentation toolbox for EM connectomics
Stars: ✭ 46 (-32.35%)
Mutual labels:  neuroscience, segmentation
brainGraph
Graph theory analysis of brain MRI data
Stars: ✭ 136 (+100%)
Mutual labels:  neuroscience, connectome
brainreg
Automated 3D brain registration with support for multiple species and atlases.
Stars: ✭ 73 (+7.35%)
Mutual labels:  neuroscience, neuroanatomy
Blendpeaks
A free and open source addon for Blender. It creates mountain peaks.
Stars: ✭ 78 (+14.71%)
Mutual labels:  blender
neurotic
Curate, visualize, annotate, and share your behavioral ephys data using Python
Stars: ✭ 24 (-64.71%)
Mutual labels:  neuroscience
mutex-watershed
The mutex watershed for image segmentation.
Stars: ✭ 54 (-20.59%)
Mutual labels:  segmentation
maskSLIC
Simple linear iterative clustering (SLIC) in a region of interest (ROI)
Stars: ✭ 28 (-58.82%)
Mutual labels:  segmentation
Skin Lesion Detection Deep Learning
Skin lesion detection from dermoscopic images using Convolutional Neural Networks
Stars: ✭ 48 (-29.41%)
Mutual labels:  segmentation
ColeAnticevicNetPartition
Public release of The Cole-Anticevic Brain-wide Network Partition (CAB-NP)
Stars: ✭ 48 (-29.41%)
Mutual labels:  neuroscience
GrabDoc
GrabDoc is a trim & tileable baker for Blender 2.9+
Stars: ✭ 22 (-67.65%)
Mutual labels:  blender
MindMapper
Blender Python - Node-based multi-line text and image flowchart
Stars: ✭ 58 (-14.71%)
Mutual labels:  blender
babel-plugin-transform-for-of-as-array
Transform all for-of loops into the equivalent array for loop
Stars: ✭ 14 (-79.41%)
Mutual labels:  transform
segmentation-enhanced-resunet
Urban building extraction in Daejeon region using Modified Residual U-Net (Modified ResUnet) and applying post-processing.
Stars: ✭ 34 (-50%)
Mutual labels:  segmentation
Segregated-Dendrite-Deep-Learning
Deep learning in a spiking neural network using segregated dendrites.
Stars: ✭ 79 (+16.18%)
Mutual labels:  neuroscience
RefRESH
Create RefRESH data: dataset tools for Learning Rigidity in Dynamic Scenes with a Moving Camera for 3D Motion Field Estimation (ECCV 2018)
Stars: ✭ 51 (-25%)
Mutual labels:  blender
NEURON-UI
NEURON User Interface
Stars: ✭ 14 (-79.41%)
Mutual labels:  neuroscience

Documentation Status Tests Run notebooks Coverage Status Open In Colab DOI Downloads

NAVis is a Python 3 (3.7 or later) library for Neuron Analysis and Visualization.

Documentation

NAVis is on ReadTheDocs.

Features

  • works as Jupyter notebook, script or from terminal
  • support for various neuron types: skeletons, meshes, dotprops, voxels
  • 2D (matplotlib) and 3D (vispy, plotly or k3d) plotting
  • neuron surgery: cutting, stitching, pruning, rerooting, intersections, ...
  • morphometrics: Strahler analysis, cable length, volume, tortuosity, ...
  • compare & cluster by morphology (e.g. NBLAST, persistence, form factor) and connectivity
  • transform data between template brains (support for e.g. HDF5, CMTK, Elastix and thin plate spline transforms)
  • load neurons directly from neuPrint, neuromorpho.org and others
  • simulate neurons and networks using the NEURON simulator
  • interface with Blender 3D for high quality renderings
  • interface with R neuron libraries (e.g. nat, rcatmaid, elmr)
  • import-export from/to SWC, neuroglancer's "precomputed" format and more
  • scalable thanks to out-of-the-box support for multiprocessing
  • designed to be extensible - see for example pymaid

Getting started

See the documentation for detailed installation instructions, tutorials and examples. For the impatient:

pip3 install 'navis[all]'

which includes all optional extras providing features and/or performance improvements. Currently, this is igraph, pathos, shapely, kdtree, hash, flybrains, cloudvolume, meshes, and vispy-default.

3D plotting from a python REPL is provided by vispy, which has a choice of backends. Different backends work best on different combinations of hardware, OS, python distribution, and REPL, so there may be some trial and error involved. vispy's backends are listed here, and each can be installed as a navis extra, e.g. pip3 install 'navis[vispy-pyqt6]'.

movie

Changelog

A summary of changes can be found here.

NAVis & friends

NAVis comes with batteries included but is also highly extensible. Some libraries built on top of NAVis:

  • flybrains provides templates and transforms to use with navis
  • pymaid pulls and pushes data from/to CATMAID servers
  • fafbseg contains tools to work with autosegmented data for the FAFB EM dataset

License

This code is under GNU GPL V3

Acknowledgments

NAVis is inspired by and inherits much of its design from the excellent natverse R packages by Greg Jefferis, Alex Bates, James Manton and others.

References

NAVis implements or provides interfaces with algorithms described in:

  1. Comparison of neurons based on morphology: Neuron. 2016 doi: 10.1016/j.neuron.2016.06.012 NBLAST: Rapid, Sensitive Comparison of Neuronal Structure and Construction of Neuron Family Databases. Costa M, Manton JD, Ostrovsky AD, Prohaska S, Jefferis GSXE. link
  2. Comparison of neurons based on connectivity: Science. 2012 Jul 27;337(6093):437-44. doi: 10.1126/science.1221762. The connectome of a decision-making neural network. Jarrell TA, Wang Y, Bloniarz AE, Brittin CA, Xu M, Thomson JN, Albertson DG, Hall DH, Emmons SW. link
  3. Comparison of neurons based on synapse distribution: eLife. doi: 10.7554/eLife.16799 Synaptic transmission parallels neuromodulation in a central food-intake circuit. Schlegel P, Texada MJ, Miroschnikow A, Schoofs A, Hückesfeld S, Peters M, … Pankratz MJ. link
  4. Synapse flow centrality and segregation index: eLife. doi: 10.7554/eLife.12059 Quantitative neuroanatomy for connectomics in Drosophila. Schneider-Mizell CM, Gerhard S, Longair M, Kazimiers T, Li, Feng L, Zwart M … Cardona A. link

Contributing

  1. Fork this repository
  2. git clone it to your local machine
  3. Install the full development dependencies with pip install -r requirements.txt
  4. Install the package in editable mode with pip install -e .[all]
  5. Create, git add, git commit, git push, and pull request your changes.

Run the tests locally with pytest -v.

Docstrings should use the numpydoc format, and make sure you include any relevant links and citations. Unit tests should be doctests and/or use pytest in the ./tests directory.

Doctests have access to the tmp_dir: pathlib.Path variable, which should be used if any files need to be written.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].