使用说明"/>
SurfStat Toolbox 使用说明
SurfStat软件包画图使用说明
Nature最近有一篇研究婴儿时期大脑体积,表面积对幼儿自闭症预测的研究:Early brain development in infants at high risk for autism spectrum disorder。方法部分使用了多种主流机器学习方法,看完能对机器学习预测方法的流程有一个比较清晰的认识,可以联系我liuyuchen0020@163获取文章资源以及讲解PPT。
除了方法部分值得关注外,本文对大脑皮层图像的展示也是很常用的,今天我就来介绍怎么用MATLAB的SurfStat包画大脑皮层脑区,觉得Freeview的三脑图太丑的童鞋可以试试。
(一) 安装SurfStat
1. 下载地址:.zip
2. 安装步骤:保存到MATLAB下的Toolbox包里,然后set path里选中路径进行保存
3. 英文Mannul:/
(二) 常用函数介绍
1.载入mask文件与pial文件
sig_curv = SurfStatReadData( {...
'H:/qdec/lh_curv/lh-Diff-hc-pa-Intercept-curv/sig.mgh', ...
'H:/qdec/rh_curv/rh-Diff-hc-pa-Intercept-curv/sig.mgh'} );
%用过QDEC的都知道它只能显示单面大脑,因此在执行完QDEC的差异分析后将其sig.mgh文件作为表面mask载入,左右脑分开载入,注意一定要按照左边的格式写,...,{}都是必须有的
pial = SurfStatReadSurf( {...
'I:/lh.pial', ...
'I:/rh.pial'} );
% 载入左右脑的pial文件,即如上图示未膨胀的大脑皮层
SurfStatView(sig_curv, pial,'Curv(-log10(p)) HC vs Pat' );
%用SurfStatView函数显示大脑图,括号右边为图注,显示结果如下:
怎么跟Nature的显示得不一样?
大脑怎么是绿色的?
sig.mgh文件内的数值是从0开始的,能不能显示FDR校正后的结果?
下面Bar图的颜色可以换么?
图注文字放一行有点挤,能不能换行?
。
。
。
2. SurfStat功能进阶
FDR_sig_curv=sig_curv;
for i = 163843:327684
a= FDR_sig_curv(1,i);
b=abs(a);
if b>5.1850
FDR_sig_curv(1,i)=a;
else
FDR_sig_curv(1,i)=0;
end
end
for i = 1:163842
a= FDR_sig_curv(1,i);
b=abs(a);
if b>2.4407
FDR_sig_curv(1,i)=a;
else
FDR_sig_curv(1,i)=0;
end
end
%这个程序将通过FDR校正后的P值筛选了出来,左脑(1:163842,>2.4407)右脑(163843:327684,>5.1850)
view_curv = FDR_sig_curv;
for i = 1:327684
a = view_curv(1,i);
if a==0view_curv(1,i)=7;
else
end
end
SurfStatView(view_curv, pial,{['HC vs Pat'];['Curv(-log10(p))']} );
SurfStatColLim( [-max(view_curv), max(view_curv)] );
%为了显示好看将所有值为0的体素改为7,这样除了通过FDR校正的体素点其余体素点都显示成白色;
SurfStatColLim([]) 提供了bar图的范围;
['HC vs Pat'];['Curv(-log10(p))']}这段函数则是将 HC vs Pat 与 Curv(-log10(p))做了换行。
如图:
以上,通过修改mask文件可以对图像显示结果进行了初步的完善
3.平滑函数
pial.coord = SurfStatSmooth( pial.coord, pial, FWHM );
%原始的pial文件沟回非常明显,平滑一下会更加好看。pial.coord对应了pial文件内每个体素点的三维坐标,通过修改FWHM参数(如5,10,15,20...)可以得到平滑后的三维坐标,需要注意的是这行代码完成后原始的pial文件已经完成了平滑。
4.修改Bar图的色域
参考这篇文章“matlab如何自定义colorbar_骑鲸人_新浪博客” .html 仿照这篇文章我做了一个单色域的的colormap,有需要的可以联系我下载
当然也可以直接选择 SurfStatColormap() 函数自定义的多种效果,如下图所示
大概先到这里吧,还有蛮多功能比如单边大脑显示(虽然很丑)可能慢慢从前面提到的英文mannul里扒,欢迎与我沟通~
更多推荐
SurfStat Toolbox 使用说明
发布评论