动态神经时空表征。

dyneusr的Python项目详细描述


动态神经成像时空表征

DyNeuSR是一个用于神经成像数据拓扑表示的python可视化库。

dyneusr是专为处理拓扑数据分析(tda)中mapper算法生成的形状图而设计的,如论文“Generating dynamical neuroimaging spatiotemporal representations (DyNeuSR) using topological data analysis”(geniesse et al.,2019)和“Towards a new approach to reveal dynamical organization of the brain using topological data analysis”(saggar et al.,2018)所述。查看这个blog post了解更多关于激发dyneusr开发的初始工作。

在头脑中进行神经影像数据分析时,开发人员将现有的映射器实现(例如,与网络分析工具(如:A8))和其他神经成像数据可视化库(例如,{ } })连接起来,并提供了一个高层次的接口,用于处理和操作神经影像数据的形状图表示。把这些表现和神经生理学联系起来。

dyneusr还提供了一个交互式的web界面,用于可视化和探索形状图。要查看这个可视化界面的实际效果,请查看demos

demos演示

相关项目

  • DyNeuSR Fire是一个为dyneusr提供命令行接口的新项目。它将kmapperdyneusr封装到单个管道中,并使用Python Fire库自动生成一个简单的命令行界面,该界面接受多个重要选项并允许用户自定义此管道。有关dyneusr fire的更多信息,请查看docs

引用

如果您觉得dyneusr有用,请考虑引用:

Geniesse, C., Sporns, O., Petri, G., & Saggar, M. (2019). Generating dynamical neuroimaging spatiotemporal representations (DyNeuSR) using topological data analysis. Network Neuroscience. Advance publication. doi:10.1162/netn_a_00093

有关映射器方法的详细信息,请参见:

Saggar, M., Sporns, O., Gonzalez-Castillo, J., Bandettini, P.A., Carlsson, G., Glover, G., & Reiss, A.L. (2018). Towards a new approach to reveal dynamical organization of the brain using topological data analysis. Nature Communications, 9(1). doi:10.1038/s41467-018-03664-4

api用法&示例

dyneusr提供了一个python api,用于处理和可视化mapper生成的形状图。这个存储库包括几个介绍dyneusr的api并突出dyneusr分析的不同方面的{a24}。有关更详细的教程,请查看dyneusr-notebooks

图形可视化trefoil knot

fromdyneusrimportDyNeuGraphfromdyneusr.datasetsimportmake_trefoilfromdyneusr.toolsimportvisualize_mapper_stagesfromkmapperimportKeplerMapper# Generate synthetic datasetdataset=make_trefoil(size=100)X=dataset.datay=dataset.target# Generate shape graph using KeplerMappermapper=KeplerMapper(verbose=1)lens=mapper.fit_transform(X,projection=[0])graph=mapper.map(lens,X,nr_cubes=6,overlap_perc=0.2)# Visualize the shape graph using DyNeuSR's DyNeuGraph                          dG=DyNeuGraph(G=graph,y=y)dG.visualize('dyneusr_output.html')

mapper参数比较trefoil knot

# Define projections to compareprojections=([0],[0,1],[1,2],[0,2])# Compare different sets of columns as lensesforprojectioninprojections:# Generate shape graph using KeplerMappermapper=KeplerMapper(verbose=1)lens=mapper.fit_transform(X,projection=projection)graph=mapper.map(lens,X,nr_cubes=4,overlap_perc=0.3)# Visualize the stages of Mapperfig,axes=visualize_mapper_stages(dataset,lens=lens,graph=graph,cover=mapper.cover,layout="spectral")

神经成像应用程序haxby decoding

importnumpyasnpimportpandasaspdfromnilearn.datasetsimportfetch_haxbyfromnilearn.input_dataimportNiftiMaskerfromkmapperimportKeplerMapper,Coverfromsklearn.manifoldimportTSNEfromsklearn.clusterimportDBSCAN# Fetch dataset, extract time-series from ventral temporal (VT) maskdataset=fetch_haxby()masker=NiftiMasker(dataset.mask_vt[0],standardize=True,detrend=True,smoothing_fwhm=4.0,low_pass=0.09,high_pass=0.008,t_r=2.5,memory="nilearn_cache")X=masker.fit_transform(dataset.func[0])# Encode labels as integersdf=pd.read_csv(dataset.session_target[0],sep=" ")target,labels=pd.factorize(df.labels.values)y=pd.DataFrame({l:(target==i).astype(int)fori,linenumerate(labels)})# Generate shape graph using KeplerMappermapper=KeplerMapper(verbose=1)lens=mapper.fit_transform(X,projection=TSNE(2))graph=mapper.map(lens,X,cover=Cover(20,0.5),clusterer=DBSCAN(eps=20.))# Visualize the shape graph using DyNeuSR's DyNeuGraph                          dG=DyNeuGraph(G=graph,y=y)dG.visualize('dyneusr_output.html')

设置

依赖项

Python 3.6

必需的python包

有关包和所需版本的完整列表,请参见^{}^{}

使用pip安装

与pip一起安装:

pip install dyneusr

从源安装:

git clone https://github.com/braindynamicslab/dyneusr.git
cd dyneusr

pip install -r requirements.txt
pip install -e .

pytest

使用conda安装

如果您的默认环境是python 2,我们建议您在单独的python 3环境中安装dyneusr。您可以找到有关为python 3here创建单独环境的更多信息。

如果您没有conda,或者您是科学python的新手,我们建议您下载Anaconda scientific python distribution

创建新的conda环境并从源安装:

conda create -n dyneusr python=3.6
conda activate dyneusr

git clone https://github.com/braindynamicslab/dyneusr.git
cd dyneusr

conda install --file requirements-conda.txt
pip install -e .

pytest

这将创建一个新的conda环境dyneusr,并在其中安装所需的依赖项。要访问它,请使用conda activate dyneusr命令(如果conda版本>;=4.4)和source activate dyneusr命令(如果conda版本<;4.4)。

支持

请随时report任何问题,request新功能,或propose改进。你也可以联系斯坦福大学教育学院的Caleb Geniess。

如果您为dyneusr捐款,请随时将您的姓名添加到list of contributors

引文

Geniesse, C., Sporns, O., Petri, G., & Saggar, M. (2019). Generating dynamical neuroimaging spatiotemporal representations (DyNeuSR) using topological data analysis. Network Neuroscience. Advance publication. doi:10.1162/netn_a_00093

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法将XML加载到属性对象Java中   java如何判断当前线程是否为事件分派线程   java如何在带有CouchbaseTemplate的Spring数据Couchbase中使用密钥前缀   java将JSON数组存储在不同的列表或数组中   java OpenCV检测最大矩形会产生令人费解的结果   java正则表达式获取选项卡式值及其频率   安卓致命异常:主java。lang.NullPointerException   java有没有一种方法可以使用CLI(命令行界面)使用junit测试用例测试我的项目的jar文件?   Java数组属性   java我应该升级到CGLIB 3.0吗?   用户界面什么Java GUI框架适合第一个GUI项目?   java如何使用tomcat、mysql和jdbc驱动程序在internet上发布我的jsp项目   java计数字符串中非重叠出现的次数   通用域名格式。太阳网httpserver Java httpserver基本身份验证问题   java Android WebView:只显示网页的一半   将json字符串转换为java中的对象列表   io使用Java在目录中查找第一个文件   if语句如何在java游戏中使用switch和case?