R| brainconn功能连接作图工具

R| brainconn功能连接作图工具_第1张图片

brainconn是2020年新出的一个基于R的工具,实现在R中制作功能连接图,这样就无需导出数据用其他软件作图了。和BrainNet相比还是有一些不完善的地方,不过不影响基本的使用。和其他作图软件一样,比如BrainNet/Nilearn,作功能连接图的主要步骤就是:

  1. 定义node

  2. 定义edge

  3. 调整参数作图

软件很容易上手,只做简介。Vignettes在此:

https://sidchop.github.io/brainconn/articles/brainconn.html

4cd3e42c5b7416008f89f16f3f10ac26.png

node

R| brainconn功能连接作图工具_第2张图片

软件自带模版有

  • aal116

  • aal90

  • craddock200

  • dk68

  • dk82_aspree

  • dkt62,

  • gordon_333

  • shen_268

  • shen_368

  • schaefer1000_n7

当然也支持自定义node,加载工具包后,可以查看自定义node的例子,并且可以使用check_atlas来检查自定义node是否可用。

custom_atlas <- custom_atlas_example
check_atlas(custom_atlas)

自定义node的格式如下:

R| brainconn功能连接作图工具_第3张图片

可以看到,与BrainNet的文件相比少了两列,所以设置不同node的颜色和大小有一点麻烦。注意⚠️使用自定义模板,必须设置node颜色为同一个颜色,否则会报错。

使用软件自带模板,不同network的node默认用不同的颜色

brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_undirected, 
          node.size = 3, 
          view="ortho")

R| brainconn功能连接作图工具_第4张图片

也可以设置node.color为统一的颜色。

brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_undirected, 
          node.color = 'pink',
          node.size = 3, 
          view="top")

R| brainconn功能连接作图工具_第5张图片

默认设置下,只显示有连接的node。如果需要显示所有node的话,设置all.nodes

brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_undirected, 
          view="left", 
          node.size = 3, 
          node.color = "hotpink", 
          edge.width = 2, 
          edge.color="darkblue", 
          edge.alpha = 0.8, 
          all.nodes = T, 
          show.legend = F)

R| brainconn功能连接作图工具_第6张图片

如果要设置每个node的大小,node.size使用vector即可。注意⚠️node.size输入的长度需要和显示的node数量对应。

d=rowSums(example_unweighted_undirected)
d=(d+1)*1.5
brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_undirected, 
          node.size = d,
          all.nodes = T)

R| brainconn功能连接作图工具_第7张图片

对于只显示有连接的node的情况

d=rowSums(example_unweighted_undirected)
d <- d[d != 0] #remove nodes with no edges 
d=(d+1)*1.5
brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_undirected, 
          node.size = d)

R| brainconn功能连接作图工具_第8张图片

7f8ae412b28c5fffa27252bbff014fca.png

edge

R| brainconn功能连接作图工具_第9张图片

无向的edge,看一眼example:

example_unweighted_undirected

它是一个300x300的binary对称矩阵,300是网络中node的数量,1代表连接的边。如果有weight,则代表连接的强度。可以根据连接的强度设置edge的大小。

brainconn(atlas ="schaefer300_n7", 
          conmat=example_weighted_undirected, 
          node.size = 5,view="bottom", 
          scale.edge.width = c(1,3), 
          background.alpha = 0.4, 
          show.legend = F)

R| brainconn功能连接作图工具_第10张图片

也可以根据连接的强度设置edge的颜色。

brainconn(atlas ="schaefer300_n7", 
          conmat=example_weighted_undirected, 
          node.size = 7,
          view="bottom", 
          edge.width = 2, 
          edge.color.weighted = T, 
          show.legend = T)

R| brainconn功能连接作图工具_第11张图片

如果连接矩阵是非对称的说明是有向连接,作图方法和无向连接相同。

brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_directed, 
          node.size = 4, 
          view="right", 
          edge.alpha = 0.6)

R| brainconn功能连接作图工具_第12张图片

注意⚠️,这里如果设置node.color的话,会显示所有的node,应该是一个小bug。

brainconn(atlas ="schaefer300_n7", 
          conmat=example_unweighted_directed, 
          node.size = 4, 
          node.color = 'pink',
          view="right", 
          edge.alpha = 0.6)

R| brainconn功能连接作图工具_第13张图片

最后它还支持3d的输出和交互。

brainconn3D(atlas ="schaefer300_n7", 
    conmat=example_unweighted_undirected, show.legend = F)

R| brainconn功能连接作图工具_第14张图片

2f50c0673b040f974452f24005741ba2.png

—END—

R| brainconn功能连接作图工具_第15张图片

你可能感兴趣的:(网络,python,android,java,linux)