SCI Seg3D Mailing List

Text archives Help

Re: [Seg3D] Segmentation of 0.03mm perineurium

Chronological Thread 
  • From: Jess Tate <>
  • To:, Purbasha Garai <>
  • Subject: Re: [Seg3D] Segmentation of 0.03mm perineurium
  • Date: Wed, 7 Jan 2015 12:25:10 -0700

Hi Purbasha,

you can create concentric layers a couple of ways, as long as they never intersect or touch. You can run each surface through biomesh independently, then combine them using SCIRun, or you can generate one surface in biomesh, then scale it in SCIRun.  The first option will probably be more accurate, but the second option will be faster.  

To scale a surface mesh, use the CreateGeometricTransform and ApplyGeometricTransform modules, or ScaleMeshAndFieldData module.  To combine surfaces in SCIRun, you just use the JoinFields module.  After you join the two surfaces together (it works best if they are both closed surfaces), use the InterfaceWithTetgen module to get a volumetric mesh.  You will want to play with some of the parameters, especially the quality and size constraints for the elements.  

As far as having different sizing-fields for different materials, that is already kind of part of biomesh, as the sizing field is dependent on the radius of the surface feature and distance from the surface.  Each material does generate its own sizing field, and you could manipulate them, but if you change them it may take a long time to run or cause biomesh to fail.  To generate the leadfield matrix, you may need to subsample the recording surface to a limited number of points before collecting the solution vectors.  


On Jan 7, 2015, at 10:11 AM, Purbasha Garai <> wrote:

Hello Jess, 

Yes,the Biomesh 3D does give me "joinfield.exe" error while running the data with two concentric circles; specially when the other layer has thickness <0.075 
Can you please elaborate on how I can scale the concentric surfaces with Biomesh

I am working on reconsructing a sciatic nerve. I need to make the mesh for saline coarser than the rest of mesh structure (parts of nerve and electrode).  Is there a way I can give different sizing field to different "materials" ( same number for parts of nerve but different for saline) ? Because it is causing two issues. Firstly, the output mesh is too big (around 450MB) , which is crashing SCIRUN while im trying to run the leadfield network.


On 17 December 2014 at 13:01, Jess Tate <> wrote:
Hi Purbasha,

It's tricky to do these kinds of things on a grid, but you can get a uniform layer around a segmented region by using the dilate and erode filter to dilate the volume the desired thickness, then subtracting the original volume.  this is dependent on the grid and if it not isotropically spaced, the new layer will not be uniform.   You can use the resampling tool to change the spacing to whatever you'd like.  the resampling would also allow you achieve a dilated distance closer to your target distance.  However, there will always be problems on the diagonal regions because of the grid sampling.

If you wanted a more precise outer surface, you could do some manipulation of the surfaces instead of the segmentation.  You would need to generate good surfaces with cleaver or biomesh, then you can scale the surface to create two concentric surfaces.  If you plan on making tet meshes, this is probably the better way to do it as most meshing software has trouble with thin regions like that layer would be.


On Dec 17, 2014, at 8:35 AM, Purbasha Garai <> wrote:

> Hello,
> I want to segment out the perineurium, surrounding each fascicle. Is there a way I could have a mask layer around the fascicle with 0.03mm thickness. Right now, I am doing it manually, which isnt very consistent. Moreover, I need to add perineurium in around 60 MRI nerve slices. I am afraid by doing manually may lead to inconsistency.
> Any suggestions will be highly appreciated.
> Regards
> Purbasha
> <unequal_perineurium.JPG><t2w_50.dcm>

Archive powered by MHonArc 2.6.18.

Top of page