Find central corpus callosal region to remove these region [Vindx,Iremove] = vb_remove_corpus(F,V,nextIX,nextDD,Rmax,Rstep,Dmax) Vindx : Vertex index for cortex model after removing central region Iremove : Vertex index for central region FLbig : Triangle index for central corpus callosal region (Left brain) FRbig : Triangle index for central corpus callosal region (Right brain) commissure 2005-3-28 by M. Sato 背景活動用に左右脳の脳梁付近の頂点を削除した頂点インデックスを求める 処理の内容 1.まず始めに Dmax よりも大きな長さを持つ三角形を選ぶ これで中心付近の脳梁部分に対応した頂点を選ぶ 2.Rmaxは最初に選んだ領域からどの程度領域を拡大させるかを決める半径 皮質に沿った距離は16mm程度しか計算していないので、 Rmaxになるまでエロージョンを繰り返す。 Rstepは1回のエロージョンに使用する半径。 Copyright (C) 2011, ATR All Rights Reserved. License : New BSD License(see VBMEG_LICENSE.txt)
0001 function [Vindx, Iremove, FLbig, FRbig] = ... 0002 vb_remove_corpus(F,V,nextIX,nextDD,Rmax,Rstep,Dmax) 0003 % Find central corpus callosal region to remove these region 0004 % [Vindx,Iremove] = vb_remove_corpus(F,V,nextIX,nextDD,Rmax,Rstep,Dmax) 0005 % 0006 % Vindx : Vertex index for cortex model after removing central region 0007 % Iremove : Vertex index for central region 0008 % FLbig : Triangle index for central corpus callosal region (Left brain) 0009 % FRbig : Triangle index for central corpus callosal region (Right brain) 0010 % commissure 0011 % 0012 % 2005-3-28 by M. Sato 0013 % 0014 % 背景活動用に左右脳の脳梁付近の頂点を削除した頂点インデックスを求める 0015 % 0016 % 処理の内容 0017 % 1.まず始めに Dmax よりも大きな長さを持つ三角形を選ぶ 0018 % これで中心付近の脳梁部分に対応した頂点を選ぶ 0019 % 0020 % 2.Rmaxは最初に選んだ領域からどの程度領域を拡大させるかを決める半径 0021 % 皮質に沿った距離は16mm程度しか計算していないので、 0022 % Rmaxになるまでエロージョンを繰り返す。 0023 % Rstepは1回のエロージョンに使用する半径。 0024 % 0025 % Copyright (C) 2011, ATR All Rights Reserved. 0026 % License : New BSD License(see VBMEG_LICENSE.txt) 0027 0028 if nargin<5, Rmax = 0.04;end; 0029 if nargin<6, Rstep = 0.01;end; 0030 if nargin<7, Dmax = 0.02;end; 0031 0032 Nmax = ceil(Rmax/Rstep); 0033 0034 % Process left and right separately 0035 FL = F.F3L; 0036 FR = F.F3R; 0037 0038 % Find triangle with large length in corpus callosal 0039 FLindx = vb_find_big_triangle(FL,V,Dmax); 0040 FRindx = vb_find_big_triangle(FR,V,Dmax); 0041 0042 FLbig = FL(FLindx,:); 0043 FRbig = FR(FRindx,:); 0044 Lremove = unique(FLbig(:)); 0045 Rremove = unique(FRbig(:)); 0046 0047 % Extend remove region by erosion 0048 for n=1:Nmax 0049 Lremove = vb_fat_area(Lremove, Rstep, nextIX, nextDD); 0050 Rremove = vb_fat_area(Rremove, Rstep, nextIX, nextDD); 0051 end 0052 0053 NV = size(V,1); 0054 0055 % Remove index 0056 Iremove = [Lremove; Rremove]; 0057 % 0058 flag = zeros(NV,1); 0059 flag(Iremove) = 1; 0060 0061 % Remaining region index 0062 Vindx = find( flag == 0 );