0001 function [Nvert,Npart,name] = vb_find_atlas_label_number(atlasfile,brainfile)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 [V, F] = vb_load_cortex(brainfile);
0019
0020 F = F.F3;
0021 NV = size(V,1);
0022
0023 load(atlasfile)
0024 Act = Act{1};
0025
0026 name = Act.label_name;
0027 label = Act.label ;
0028 Narea = length(label);
0029
0030
0031 xxP = Act.xxP;
0032
0033 Npart = zeros(Narea+1,1);
0034 Nvert = cell(Narea+1,1);
0035 Nvert{Narea+1} = sum( xxP == 0 );
0036 name{Narea+1} = 'Non_area';
0037 Npart(Narea+1) = 1;
0038
0039 for n=1:Narea
0040
0041 ix = find( xxP == label(n) );
0042
0043 if isempty(ix), continue; end;
0044
0045
0046 [Vindx, Nall] = vb_connected_vertex(ix,F);
0047
0048
0049 if ~isempty(Vindx)
0050 Npart(n) = length(Nall);
0051 Nvert{n} = Nall;
0052 end
0053
0054 end
0055
0056 return
0057
0058 Nmax = max(Npart);
0059 Mvert = zeros(Narea+1,Nmax);
0060
0061 for n=1:Narea+1
0062 if Npart(n) > 0
0063 Mvert(n,1:Npart(n)) = Nvert{n};
0064 end
0065 end