Python package to reconstruct axonal branches from high-density micro-electrode array data
Project description
Axon velocity
Graph-based algorithm to reconstruct axonal branches and compute velocities from extracellular multi-electrode array (MEA) recordings in Python.
Installation
To install the axon_velocity
package, you can clone the repo and install using pip:
pip install axon_velocity
To install from sources:
git clone https://github.com/alejoe91/axon_velocity.git
cd axon_velocity
python setup.py install (or develop)
Requirements
axon_velocity
depends on the following packages, which are automatically installed
- numpy
- matplotlib
- scipy
- networkx
- sklearn
- MEAutility
- probeinterface
For the simulation notebooks in the simulation_notebooks
folder, additional requirements are needed:
All additional requirements can be installed with: pip install -r requirements_fill.txt
Usage
The inputs to the tracking algorithm are:
- templates: mean extracellular waveforms (n_channels x n_samples)
- locations: x-y position of electrodes (n_channels x 2)
- fs: sampling frequency (float)
The graph-based method can be run as follows:
import axon_velocity as av
gtr = av.compute_graph_propagation_velocity(template=your_template, locations=your_locations)
To inspect available arguments, you can use av.compute_graph_propagation_velocity?
.
The output gtr
is an object of a class called GraphAxonTracking
.
It contains the following fields:
branches
: List of dictionaries containing the following fields:- 'selected_channels': selected channels in the path
- 'velocity': velocity estimate in mm/s (if locations in um and fs in Hz)
- 'offset': offset of velocity estimate (same units as locations)
- 'r2': r-squared of the velocoty fit
- 'error': standard error of the linear fit
- 'pval': p_value of the fit
- 'distances': array with distances computed along the branch
- 'peak_times': array with peak differences with initial channel
- 'init_channel': channel used as initial channel
selected_channels
: List of selected channelsgraph
: NetworkX directed graph
The GraphAxonTracking
also implements useful methods for plotting the selected channels
(gtr.plot_channel_selection()
), plot the underlying graph (gtr.plot_graph()
), plot the selected axonal branches
(gtr.plot_branches()
), and plot the estimated velocities for each branch (gtr.plot_velocities()
).
Contribute
Contributions are welcome! Before pushing, make sure to clean up all notebooks with nbconvert
:
pip install nbconvert
(just once)
jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearMetadataPreprocessor.enabled=True --inplace **/*.ipynb
(before committing)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file axon_velocity-0.1.1.tar.gz
.
File metadata
- Download URL: axon_velocity-0.1.1.tar.gz
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d04f606af55024f757257dc566dad7bc455530bc0e1806954b7a647b3dae2a7c |
|
MD5 | d40825f599d17769ead16dcb442df391 |
|
BLAKE2b-256 | c04ba5e7d99a5116f5ee9651dea090e63f8a97c4140ea740df2987c241fd98b5 |
File details
Details for the file axon_velocity-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: axon_velocity-0.1.1-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f02a7b1f5e4e18cba92152fd8dcf7968d4bfeee0c0fa6e87e08c30bbd9b424d3 |
|
MD5 | 12ca0c4d9e6aeed747a6ba63de6facbf |
|
BLAKE2b-256 | 7576803af3068db84e71b17d3902747d9395e45c7f73a468d81b53a131a077ba |