left and right hemisphers meshing

48 views
Skip to first unread message

Almarshad F.

unread,
Jun 5, 2017, 1:36:35 PM6/5/17
to iso2mes...@googlegroups.com

Hi


i was trying to mesh the brain parcellated hemispheres the left and right from (recon_all freesurfer)

can i do this with iso2mesh! any cloue?

Anh Phong Tran

unread,
Jun 5, 2017, 6:55:16 PM6/5/17
to iso2mesh-users, F.Alm...@soton.ac.uk
It is certainly possible. The easiest way to handle this is to use the Cgalmesh pathway through the following function:

 [node,elem,face]=v2m(img,isovalues,opt,maxvol,method)
 volumetric mesh generation from binary or gray-scale volumetric images
 shortcut for vol2mesh
 inputs and outputs are similar to those defined in vol2mesh

You can load nii volumes to MATLAB using one of those open source tools or freesurfer volume outputs through the iso2mesh function readasc. Once it is imported you can follow the examples on how to use the v2m function to generate your mesh. 

We do however feel that there are possibilities to improve the accuracy and smoothness of the cortical surface, so we did work on a more elaborated way to develop 3D parcellated inner brain structures. This work is not published yet, but we can discuss that offline. There are certainly things that could be improved, but I have attached an example that we did with BrainSuite outputs. 
Figure_6a.png

Qianqian Fang

unread,
Jun 12, 2017, 2:35:03 PM6/12/17
to iso2mes...@googlegroups.com, Almarshad F.
hi Almarshad

I am not sure what you meant by "brain parcellated hemispheres". did you mean
a brain segmentation (i.e. a multi-labeled volume) from recon_all?

in that case, you may follow Phong's reply earlier, and use v2m/vol2mesh directly.

you can see an example in iso2mesh

https://github.com/fangq/iso2mesh/blob/master/sample/demo_cgalmesher.m

I believe this volume was created from recon_all.


However, if you meant a left/right hemisphere pial or white matter surfaces,
you need to use a surface based workflow, explained below:

assume your left or right hemisphere surfaces from Freesurfer are stored in .asc files,
you first need to load them to matlab using lines like these:

[pln,plf]=readasc('surf/lh.pial.asc');
[prn,prf]=readasc('surf/rh.pial.asc');

and for each hemisphere, you can then perform a simplification to decimate
the dense nodes, and then a surface repairing to make sure there is no intersecting
triangles, for example, for the left pial surface pln and plf, you can do

[pln2, plf2]=meshresample(pln,plf,0.1); % decimate 90% of the nodes
[pln3, plf3]=meshcheckrepair(pln2,plf2,'meshfix');

then, you should be ready to generate a tetrahedral mesh to fill
the surface, by
[plnode,plelem]=s2m(pln3,plf3,100);
this will create a tetrahedral mesh for the left hemisphere. repeat this
for the right hemisphere. if the two hemispheres are not overlapping,
then you just call mergemesh to concatenate the two into a single volumetric mesh:

[pialnode,pialelem]=mergemesh(plnode,plelem,prnode,prelem);

An alternative route is to use surf2vol to combine the meshresample/meshcheckrepair.
check out my brain atlas mesh notes Section 2

http://mcx.sourceforge.net/cgi-bin/index.cgi?MMC/Colin27AtlasMesh/Version2#The_challenges

particularly, Challenge#2 and the paragraph follows.

hope this helps.

Qianqian

Almarshad F.

unread,
Jun 18, 2017, 2:13:47 PM6/18/17
to iso2mes...@googlegroups.com
HI dr. Qianqian, and dr. Phong

many thanks for your reply
yes i parcellated each hemisphere into equal areas and created from them the aparc+aseg.mgz file which is the segmented brain i guess..

when i used frresurfer function mriread on matlab as following:
brain=aparcaseg.vol;
brain=uint8(brain);

and followed the example in the link it didn't give me the right mesh! is the importing method is not correct? i'm not familiar with Malab and not sure what are the steps to convert volumetric image, so i can use it with iso2mesh


many thanks in advance

fatima
________________________________
From: iso2mes...@googlegroups.com [iso2mes...@googlegroups.com] on behalf of Anh Phong Tran [anhph...@gmail.com]
Sent: Monday, June 05, 2017 11:55 PM
To: iso2mesh-users
Cc: Almarshad F.
Subject: [iso2mesh-users] Re: left and right hemisphers meshing
--
You received this message because you are subscribed to the Google Groups "iso2mesh-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iso2mesh-user...@googlegroups.com<mailto:iso2mesh-user...@googlegroups.com>.
To post to this group, send email to iso2mes...@googlegroups.com<mailto:iso2mes...@googlegroups.com>.
Visit this group at https://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.

Qianqian Fang

unread,
Jun 19, 2017, 4:20:16 PM6/19/17
to iso2mes...@googlegroups.com, Almarshad F.
On 06/18/2017 02:13 PM, Almarshad F. wrote:
HI dr. Qianqian, and dr. Phong

many thanks for your reply
yes i  parcellated each hemisphere into equal areas  and created from them the aparc+aseg.mgz file which is the segmented brain i guess..

when i used frresurfer function  mriread on matlab  as following:
brain=aparcaseg.vol;
brain=uint8(brain);

and followed the example in the link it didn't give me the right mesh! is the importing method is not correct?

hi Fatima

please save your array "brain" using the below command

save brain.mat brain

and email the generated brain.mat file. I will take a look.

Qianqian
Reply all
Reply to author
Forward
0 new messages