<div dir="ltr"><div dir="ltr"><div>Dear experts,<br></div><div><div class="gmail_quote"><div dir="auto">I've tried making a FEM head model using 5 head labels (GM, WM, CSF, skull and scalp ; I have not used  "ft_volumesegment" to obtain these lables ). I read these 5 labels in MATLAB using 'ft_read_mri' and then I try making a mesh using 'v2m' function. The output doesn't seem to be correct due to the number of nodes for outer GM (cortex) which is  '129626' and number of nodes in total ( 169166 ). The code is written below.</div><div dir="auto">I'd highly appreciate your help. </div><div dir="auto">Thanks in advance,</div><div dir="auto">Fereshte</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">clc</div><div dir="auto">clear all</div><div dir="auto">ft_defaults</div><div dir="auto">%read image(mri) and 5 lable segmentation</div><div dir="auto">mri = ft_read_mri('MRI.nii');</div><div dir="auto">skull_c=ft_read_mri('Skull.nii');</div><div dir="auto">scalp_c=ft_read_mri('Scalp.nii');</div><div dir="auto">gray_c=ft_read_mri('gray.nii');</div><div dir="auto">white_c=ft_read_mri('WM.nii');</div><div dir="auto">csf_c=ft_read_mri('CSF.nii');</div><div dir="auto">% making a volume</div><div dir="auto">head=zeros(mri.dim(1),mri.dim(2),mri.dim(3));</div><div dir="auto">head(find(scalp.anatomy))=1;</div><div dir="auto">head(find(skull.anatomy))=2;</div><div dir="auto">head(find(csf.anatomy))=3;</div><div dir="auto">head(find(gray.anatomy))=4;</div><div dir="auto">head(find(white.anatomy))=5;</div><div dir="auto"><br></div><div dir="auto">imshow(head(:,:,100),[])</div><div dir="auto">% mesh</div><div dir="auto"><br></div><div dir="auto">[node, elem, face] = v2m(uint8(head),[],5,100,'cgalmesh'); % show the mesh for corrected head model as _c</div><div dir="auto"><br></div><div dir="auto">hs=plotmesh(node,face);</div><div dir="auto">save mesh.mat node elem face;</div><div dir="auto">%%% load mesh</div><div dir="auto">load mesh.mat node elem face ;</div><div dir="auto">ran=[1 2 4 3];</div><div dir="auto">Nodem=mean(node(:,1:3));</div><div dir="auto">mesh.pos=node(:,1:3)-ones(size(node,1),1)*Nodem;</div><div dir="auto">mesh.tet=elem(:,ran);</div><div dir="auto">mesh.labels=elem(:,5);</div><div dir="auto">mesh.tissue=elem(:,5);</div><div dir="auto">mesh.tissuelabel={'scalp', 'skull', 'CSF', 'gray', 'white',};</div><div dir="auto">disp(mesh)</div><div dir="auto">save mesh.mat -append mesh;</div><div dir="auto">load mesh;</div><div dir="auto">% outer GM surface nodes</div><div dir="auto">GM=elem(find(elem(:,5)==4),1:4);</div><div dir="auto">GM_surf=volface(GM);</div><div dir="auto">test=GM_surf(:);%convert the test matrix to a vector</div><div dir="auto">test_2=sort(test); % arrange the elements</div><div dir="auto">GM_surface_nodes=unique(test_2); % remove the duplicate elements</div><div dir="auto">[a b]=size(GM_surface_nodes);% find the position of the GM surface nodes </div><div dir="auto">for i=1:a</div><div dir="auto">    t=GM_surface_nodes(i,1);</div><div dir="auto">    GM_surface_nodes_position(i,1:3)=node(t,1:3);</div><div dir="auto">end</div><div dir="auto">X=GM_surface_nodes_position;</div><div><br></div></div><div dir="auto"><br></div><br class="gmail-Apple-interchange-newline"></div></div></div></div>