Skip to content

guozanhua/NeuroM

 
 

Repository files navigation

NeuroM

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

Test Status

Test Coverage Status

Documentation Status

Documentation

NeuroM documentation is built and hosted on readthedocs.

Dependencies

The build-time and runtime dependencies of NeuroM are:

  • numpy
  • scipy
  • matplotlib
  • h5py (optional, required for reading HDF5 files)
  • enum34 (pip install takes care of this)
  • pyyaml (pip install takes care of this)

Installation

It is recommended that you use pip to install into NeuroM into a virtualenv:

NeuroM installation

The following assumes virtualenv named nrm with access to the dependencies has been set up and activated. We will see two ways to install NeuroM

  1. From the Python Package Index
  2. From the git repository
  3. From source (for NeuroM developers)

Install package from Python Package Index

(nrm)$ pip install neurom

Install package from git

Install the latest version:

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

Install a particular release:

(nrm)$ pip install git+https://github.com/BlueBrain/NeuroM.git@neurom-v0.0.1

Install 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 you make to the source code are seen by the installation. To install in read-only mode, omit the -e.

Examples

  • Perform checks on neuron morphology files:
(nrm)$ morph_check some/data/path/morph_file.swc # single file
INFO: ================================
INFO: Check file some/data/path/morph_file.swc...
INFO: Has valid soma? PASS
INFO: Has Apical Dendrite? PASS
INFO: Has Basal Dendrite? PASS
INFO: All neurites have non-zero radius? PASS
INFO: All segments have non-zero length? PASS
INFO: All sections have non-zero length? PASS
INFO: Check result: PASS
INFO: ================================


(nrm)$ morph_check some/data/path # all files in directory
....
  • Load a neuron and obtain some information from it:
>>> from neurom import ezy
>>> nrn = ezy.load_neuron('some/data/path/morph_file.swc')
>>> apical_seg_lengths = nrn.get_segment_lengths(ezy.TreeType.apical_dendrite)
>>> axon_sec_lengths = nrn.get_section_lengths(ezy.TreeType.axon)
  • Visualize a neuronal morphology:
>>> # Initialize nrn as above
>>> fig, ax = ezy.view(nrn)
>>> fig.show()

About

Neuronal Morphology Viewing and Analysis Tool

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 78.7%
  • Jupyter Notebook 20.6%
  • Makefile 0.7%