BrainNet Viewerを用いてCONNのatlas上の機能的ネットワークを3D rendered brain上に描画する方法
このページに添付されたALL_CONN.nodeをnodeファイルとしてダウンロード。これはタブ区切りされたnodeの位置情報、ラベル情報などが含まれています。
node(area)数は164で、以前のCONNのバージョンに存在した
133 0.391304348 -46.04347826 -30.95652174 lowconnatlas
165 0.81329777 -24.75013336 5.688430167 Grey Matter
は省略されています。
edgeファイルはタブ区切りの隣接行列です。ここでは例として、CONNのgraph theoryボタンを押すことで出力された隣接行列から、特定のノード番号を指定し、部分隣接行列を抽出して描画することにします。
まず、ここで'<directory name>.networkmeasures.mat'というファイルが存在していることを確認します。
grapth theoretical codfficientsは各実験参加者のセッションごとに、三次元配列の第三次元に格納されています。よって、実験参加者セッション番号をiとするとMATLAB上で
results.Z_thr(:,:,i)とすればiの隣接行列が抽出されます。全部にn個の実験参加者セッションがあるとすれば
baseZ_thr_AND_tmp= results.Z_thr(:,:,1) .* results.Z_thr(:,:,2).* (...) .* results.Z_thr(:,:,n);
baseZ_thr_OR_tmp= results.Z_thr(:,:,1) + results.Z_thr(:,:,2)+ (...) + results.Z_thr(:,:,n);
と言った計算が可能です。
まずここでbaseZ_thrtmpを用意します。
ここで選択したnode番号をpickedupというリストに入れます。DMNだと
pickedup=[1 6 23 24 41 42 43 44 53 55 56 57 62 63 64 65 100 101 122 127 134 135 136 137];
あたりでしょうか。
tmp=zeros(164);
for i=1:size(pickedup,2)
for j=1:size(pickedup,2)
tmp(pickedup(i),pickedup(j))=baseZ_thrtmp(i,j);
end
end
tmp=tmp.*(ones(164)-eye(164));
baseZ_thr=baseZ_thrtmp.*tmp;
で部分隣接行列が抽出されます。これをBrainNet Viewerではタブ区切りにしないといけないのですが、一番簡単(安直)な方法はワークスペース上で変数baseZ_thrをダブルクリックして開いた値をExcelにコピペするというものです。これをxlsxではなく拡張子edgeで保存します。
ここでは例としてTMC32chDMN.edgeという隣接行列ファイルを入れておきました。
さてBrainNetを起動します。
Load fileでは、Surface fileとしてはData\SurfTemplate\BrainMesh_Ch2withCerebellum.nvでも選びましょう。小脳が入っています。
node file (ALL_CON.node), edge fileも選んでおきます。
BrainNet OptionのNodeでDraw NodeをデフォルトのDraw AllでなくHas Connectionを選択します。
後は自由に透明度を調整してください。