动态神经时空表征。

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第三方库


热门话题
AmazonS3查找从S3forJava下载的压缩文件的MIME类型   java如何使用Selenium在<span>中查找具有特定文本的元素   python如何使用OpenIEDemo生成自定义三元组。由stanfordnlp提供的java   java遇到“方法不适用”编译错误   java如何使用Mockito在Looper中运行的验证代码。getMainLooper?   类Java目录错误   java在已知其他泛型信息时使用原始类型   java connect()和disconnect()在哪里实现?   java使用PDF Box库拆分PDF,生成的PDF几乎与源PDF文件大小相同   java PowerMockito返回错误的对象   java如何找到TIBCO集合消息的字节编码?   java Basic音乐播放器下一步和上一步按钮   添加模块描述符时,java没有名为“entityManagerFactory”的bean可用   java为什么我的代码不是线程安全的?   eclipse java。引用项目中的类的lang.NoClassDefFoundError