跳转到主要内容

Python软件包,用于从高密度微电极阵列数据重建轴突分支

项目描述

PyPI version DOI

轴突速度

Python中用于从细胞外多电极阵列(MEA)记录重建轴突分支和计算速度的基于图的算法。

安装

要安装axon_velocity包,您可以克隆存储库并使用pip进行安装

pip install axon_velocity

从源安装

git clone https://github.com/alejoe91/axon_velocity.git
cd axon_velocity
python setup.py install (or develop)

要求

axon_velocity依赖于以下包,这些包会自动安装

  • numpy
  • matplotlib
  • scipy
  • networkx
  • sklearn
  • MEAutility
  • probeinterface

对于simulation_notebooks文件夹中的模拟笔记本,需要额外的需求

所有额外需求都可以使用以下命令安装:pip install -r requirements_fill.txt

用法

跟踪算法的输入为

  • 模板:平均细胞外波形(n_channels x n_samples)
  • 位置:电极的x-y位置(n_channels x 2)
  • fs:采样频率(浮点数)

可以使用以下方式运行基于图的算法

import axon_velocity as av

gtr = av.compute_graph_propagation_velocity(template=your_template, locations=your_locations, fs=fs)

要检查可用参数,可以使用av.compute_graph_propagation_velocity?

输出gtr是名为GraphAxonTracking的类的一个对象。它包含以下字段

  • branches:包含以下字段的字典列表
    • 'selected_channels':路径中选定的通道
    • 'velocity':速度估计(mm/s)(如果位置在um且fs在Hz)
    • 'offset':速度估计的偏移(与位置相同单位)
    • 'r2':速度拟合的r平方
    • 'error':线性拟合的标准误差
    • 'pval':拟合的p值
    • 'distances':沿着分支计算的距离数组
    • 'peak_times':与初始通道的峰值差异数组
    • 'init_channel':用作初始通道的通道
  • selected_channels:选定通道列表
  • graph:NetworkX 有向图

GraphAxonTracking 还实现了用于绘制选定通道的有用方法(gtr.plot_channel_selection()),绘制底层图(gtr.plot_graph()),绘制选定的轴突分支(gtr.plot_branches()),以及绘制每个分支的估计速度(gtr.plot_velocities())。

贡献

欢迎贡献!在推送之前,请确保使用 nbconvert 清理所有笔记本。

pip install nbconvert (只需一次)

jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearMetadataPreprocessor.enabled=True --inplace **/*.ipynb (在提交之前)

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面