All Projects → BlueBrain → Neurom

BlueBrain / Neurom

Licence: bsd-3-clause
Neuronal Morphology Analysis Tool

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Neurom

Deepbake
Baking Machine Learning into Great British Bake Off
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Sdc course
Short course about self-driving cars
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Jupyter tfbook
Jupyter Notebooks for TensorFlow Book
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Python Image Processing Cookbook
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Credit Card Score
基于Python的申请信用评分卡模型分析
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Short Text Classification
SVM, FastText, TextCNN, BiGRU, CNN-BiGRU在短分本分类上的对比
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Stock Market Analysis
Analyzing stock market trends using several different indicators in quantum finance. I explore machine learning and standard crossovers to predict future short term stock trends.
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Ml Nlp
此项目是机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现,也是作为一个算法工程师必会的理论基础知识。
Stars: ✭ 10,826 (+16303.03%)
Mutual labels:  jupyter-notebook
448project
High Frequency Trading
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Emotiw2016
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Pytorch Lrp
Basic LRP implementation in PyTorch
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Bayesian Analysis With Python Second Edition
Bayesian Analysis with Python - Second Edition, published by Packt
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Pandas Tutorial
Tutorial on Using Pandas
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Deeplearning
Deep Learning From Scratch
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Web develop
《Python Web开发实战》书中源码
Stars: ✭ 1,146 (+1636.36%)
Mutual labels:  jupyter-notebook
C9 Dev Intro Data Science
Sample code for Channel 9 Python for Beginners course
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Introduction To Data Science
本Repository为中国人民大学朝乐门老师开源课程——《数据科学导论》
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook
Mimic Workshop
Introduction to MIMIC-III, the Critical Care Database
Stars: ✭ 65 (-1.52%)
Mutual labels:  jupyter-notebook
Jupyter Themes
Custom Jupyter Notebook Themes
Stars: ✭ 8,879 (+13353.03%)
Mutual labels:  jupyter-notebook
Tensorflow deep taylor lrp
Layerwise Relevance Propagation with Deep Taylor Series in TensorFlow
Stars: ✭ 66 (+0%)
Mutual labels:  jupyter-notebook

NeuroM Logo

NeuroM

NeuroM is a Python toolkit for the analysis and processing of neuron morphologies.

Build Status license codecov.io Documentation Status DOI

Documentation

NeuroM documentation is built and hosted on readthedocs.

Installation

It is recommended that you use pip to install NeuroM into a virtualenv. The following assumes a virtualenv named nrm has been set up and activated. We will see three ways to install NeuroM

1. From the Python Package Index

(nrm)$ pip install neurom

2. From git repository

(nrm)$ pip install git+https://github.com/BlueBrain/NeuroM.git

3. From source

Clone the repository and install it:

(nrm)$ git clone https://github.com/BlueBrain/NeuroM.git
(nrm)$ pip install -e ./NeuroM

This installs NeuroM into your virtualenv in "editable" mode. That means changes made to the source code are seen by the installation. To install in read-only mode, omit the -e.

Tutorial notebook

To gain an understanding of some of the capabilities of NeuroM, you can launch the NeuroM tutorial on MyBinder. Click the badge to launch, no need to download or install!

Binder

Examples

  • Extract morphometrics from one or many morphology files:
$ morph_stats some/path/morph.swc # single file
{
  "some/path/morph.swc":{
    "axon":{
      "total_section_length":207.87975220908129,
      "max_section_length":11.018460736176685,
      "max_section_branch_order":10,
      "total_section_volume":276.73857657289523
    },
    "all":{
      "total_section_length":840.68521442251949,
      "max_section_length":11.758281556059444,
      "max_section_branch_order":10,
      "total_section_volume":1104.9077419665782
    },
    "mean_soma_radius":0.17071067811865476,
    "apical_dendrite":{
      "total_section_length":214.37304577550353,
      "max_section_length":11.758281556059444,
      "max_section_branch_order":10,
      "total_section_volume":271.9412385728449
    },
    "basal_dendrite":{
      "total_section_length":418.43241643793476,
      "max_section_length":11.652508126101711,
      "max_section_branch_order":10,
      "total_section_volume":556.22792682083821
    }
  }
}

$ morph_stats some/path # all files in directory
  • Perform checks on neuron morphology files:
(nrm)$ morph_check some/data/path/morph_file.swc # single file
INFO: ========================================
INFO: File: some/data/path/morph_file.swc
INFO:                      Is single tree PASS
INFO:                     Has soma points PASS
INFO:                  Has sequential ids PASS
INFO:                  Has increasing ids PASS
INFO:                      Has valid soma PASS
INFO:                  Has valid neurites PASS
INFO:                  Has basal dendrite PASS
INFO:                            Has axon PASS
INFO:                 Has apical dendrite PASS
INFO:     Has all nonzero segment lengths PASS
INFO:     Has all nonzero section lengths PASS
INFO:       Has all nonzero neurite radii PASS
INFO:             Has nonzero soma radius PASS
INFO:                                 ALL PASS
INFO: ========================================

(nrm)$ morph_check some/data/path # all files in directory
    ....
  • Load a neuron and obtain some information from it:
>>> import neurom as nm
>>> nrn = nm.load_neuron('some/data/path/morph_file.swc')
>>> apical_seg_lengths = nm.get('segment_lengths', nrn, neurite_type=nm.APICAL_DENDRITE)
>>> axon_sec_lengths = nm.get('section_lengths', nrn, neurite_type=nm.AXON)
  • Visualize a neuronal morphology:
>>> # Initialize nrn as above
>>> from neurom import viewer
>>> fig, ax = viewer.draw(nrn)
>>> fig.show()
>>> fig, ax = viewer.draw(nrn, mode='3d') # valid modes '2d', '3d', 'dendrogram'
>>> fig.show()

Dependencies

The build-time and runtime dependencies of NeuroM are:

Reporting issues

Issues should be reported to the NeuroM github repository issue tracker. The ability and speed with which issues can be resolved depends on how complete and succinct the report is. For this reason, it is recommended that reports be accompanied with a minimal but self-contained code sample that reproduces the issue, the observed and expected output, and if possible, the commit ID of the version used. If reporting a regression, the commit ID of the change that introduced the problem is also extremely valuable information.

Funding & Acknowledgements

This project/research received funding from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Framework Partnership Agreement No. 650003 (HBP FPA). This research was supported by the EBRAINS research infrastructure, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3). The development of this software was supported 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.

For license and authors, see LICENSE.txt and AUTHORS.md respectively.

COPYRIGHT 2015–2021, Blue Brain Project/EPFL

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