前言
BrainNet Viewer是由由北京师范大学开发的一个应用于Matlab的工具包,主要用于脑网络的可视化,可以帮助研究人员以快速、简单和灵活的方式从不同层次可视化结构和功能连接模式。
一、下载安装
工具包网址:NITRC:BrainNet 查看器:工具/资源信息
网页显示如下:
在绿色的"Execution Options"中的"Download Now"中选择符合自己电脑系统的压缩文件(.zip)下载。
解压之前下载的文件至MATLAB的安装目录下("\Matlab 2023a\BrainNetViewer_20191031")
打开MATLAB,点击"环境"中的"设置路径"
点击"添加并包含子文件夹"
选择之前复制在MATLAB文件夹下的解压包并确定。
当MATLAB搜索路径中出现下面这些路径时即添加成功。
最后点击保存,则安装成功。
二、使用
在命令行窗口中输入"BrainNet Viewer"
出现下面界面说明启动成功
点击"File->Load File",出现下面页面,共有四个文件可供选择Surface file(表层文件)、Data file(node)(节点文件)、Data file(edge)(边文件)、Mapping file(映射文件)
选择相应文件
Surface文件在包内已经有基本模型文件,也能自己进行模型构建。
node文件和edge文件需要自行进行创建。
在加载文件后会出现设置窗口
选择自己需要的视图
进行全局设置的调整
针对surface,node,edge文件都有其单独的设置,来使图片/模型能更具象化、精细化的表达,输出的image文件也能进行设置。
下面将对node,edge文件的创建和模型的具象化、精细化表达进行介绍。
三、node文件的创建
首先明确所需要构建模型的EEG电极类型,并通过下表来进行位置坐标的查询。
根据上表来进行node文件的创建
每个节点都有6列,前三列为节点坐标(即上方表查询可得),第四列代表节点颜色,第五列代表节点大小,第六列代表节点名称,下面以一个具体的文件举例。
首先创建一个(.txt)文本文件-->按照上方规则输入-->保存文件-->修改后缀为.node
获得电极位置置入BrainNet Viewer如下图所示。
四、edge文件的创建
所谓edge文件便是两个节点间连线的参数。所以很容易想到两两之间的关系可以使用N阶矩阵表示(N为节点的数量)。只要在每一行每一列输入节点连线的数值就可获得edge文件(例如下图)。
当然对于单个脑部的EEG信号只会出现0、1二值,对于多个EEG信号可以进行平均化处理,则可能会出现小数值,依然可以在edge文件中出现。
一般EEG信号会通过.csv文件或者.xls文件存储,平均化处理非常的麻烦。所以我做了一个MATLAB程序,可以直接输出平均矩阵,可粘贴到.txt文件中,修改后缀后可获得.edge文件。
% 设置文件夹路径
folderPath = ' '; % 替换为你的文件夹路径
% 获取所有CSV文件
fileList = dir(fullfile(folderPath, '*.csv'));
% 初始化一个变量用于存储总和
totalSum = [];
% 记录文件数量
fileCount = length(fileList);
% 遍历每个文件
for i = 1:fileCount
% 获取当前文件的完整路径
filePath = fullfile(folderPath, fileList(i).name);
% 读取CSV文件并转换为矩阵
currentMatrix = csvread(filePath);
% 累加当前矩阵
if isempty(totalSum)
totalSum = currentMatrix; % 如果是第一次,初始化总和
else
totalSum = totalSum + currentMatrix; % 否则进行累加
end
end
% 计算均值
if fileCount > 0
averageMatrix = totalSum / fileCount; % 除以文件数量
else
averageMatrix = []; % 如果没有文件,则均值为空
end
% 输出均值矩阵
disp('所有CSV文件的矩阵均值为:');
disp(averageMatrix);
五、BrainNet Viewer的精细化制图
想让图变的更加精美,更能反映需要的特征,则需要在BrainNet Viewer中的Option上加以修改。
以下图为例,可以看出图片反映不出什么具体信息,也没有美感。下面通过一些设置将其精细化。
首先在node的label界面可以将结点打上标签
可获得带标签(包括字体和字号)的脑图(也可修改结点颜色,在这里不多赘述)
其次用的比较多的还有连线之间的颜色,可在edge里面的color工具,设置随数值大小渐变,也可以同色处理(不过就没法反映小数的大小区分),线的粗细也可以用数值大小来调整
最后File -> Save image就能实现出图
基本的精细化制图就是这样了
总结
以上是我对BrainNet Viewer工具的一些浅薄的理解,本人才疏学浅,希望能与大家一起无限进步!