Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.
On 04/30/2015 10:16 AM, Konstantinos Mountris wrote:
Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
hi Konstantinos
I assume your volume has been segmented in 3 labels - 1 label for
each object. In that case, you can just call v2m() with method='cgalmesh'
to get the mesh.
If you want to smooth the surfaces, you may consider v2s() with cgalmesh
option to obtain the surfaces, and then apply smoothing with sms().
You will have the risks of getting self-intersecting elements if the
smoothing is "too much".
Another alternative is to extract the surface corresponding to each label
using v2s()/vol2surf, and then apply smoothing to each component, and
then shrink them slightly towards their respective centroid (the shrinkage
needs to ensure they are no longer in contact), and then combine them
with mergemesh(). I personally like the last approach but you have to
manually find how much shrinkage is sufficient to decouple them.
Dear Dr Fang,
I tried to solve my problem following your instructions but I wasn't successful until I come up with a modification of the suggesterd procedure.
Instead of applying the method in my image with the 3 objects
First I isolate each one of the objects
Then I generate a mesh either with v2m or with v2s -> sms -> s2m
and finally I merge the three meshes in one with mergemesh having first change the id (column 5) of the objects 2 and 3 element matrix.
In this way I can obtain a mesh with the 3 objects isolated without being necessary to smooth the surfaces. However I am applying a slight smoothing in order to discard sharp edges of the mesh due to the segmentation procedure.
My current shortcome is that despite the level of smoothnesh I cant get rid of the edges in the bottom of the objects shown in the attached image which affect negatively the quality of my mesh. Due you have any suggestions?
Thank you in advance,
Konstantinos.
Τη Δευτέρα, 4 Μαΐου 2015 - 9:18:52 π.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Hello dear Dr Fang,
Thank you for your reply and your recommendations. I want to test both scenarios where the objects are isolated or connected so i will check all your recomendations and see what suits best. Thank you very much for your help.
Best regards,
Konstantinos.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Dear Dr Fang,
I hope this finds you well. Currently I am trying to optimize my contact model. I have some small penetrations and possibly be generating a finer mesh i could get rid of them. Unfortunately I cant produce a good fine mesh despite my efforts.
The best result i had was by first using the remeshsurf function with opt=1 and after calling the meshresample for getting rid from the node cluster as mentioned before in our discussion. Despite the good quality of the mesh (min=0.21 & mean=0.73) the jacobians are very small and the mesh is not suitable for a FEM analysis (can't converge).
Could you please share your ideas for this issue with me?
Best regards,
Konstantinos.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Dear Dr Fang,
Thank you for your reply in my question. By the time you replied I was able to figure out how to refine my mesh however I wasn't able to use the sortmesh function correctly (by good mesh I mean to reorder the nodes for have a optimised mesh for fe analysis) obviously I am missing something out from the function call. I would be glad if you could help me with that
and also if you have any suggestions for my current demands. I want instead of having a tetrahedral mesh of 3 domains, to obtain a mesh where the 2 domains will be made of shell elements and the third of tetrahedral elements. I have seen a previous question like that in the forum but I havent test if in my case its appliable since in the last steps of my scripts I am merging the meshed domains in one global mesh.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Dear Dr Fang,
Sorry for my late response. I tried out your recommendation for the sortmesh but i get the same mistake:
==========================
Error in sortmesh (line 31)
if(isempty(origin))
Output argument "fc" (and maybe others) not assigned during call to "/home/mood/MATLAB/iso2mesh/sortmesh.m>sortmesh".
Error in prostInBlock (line 63)
[node,elem,face,nodemap]=sortmesh(node(1,:), node,elem,1:4,face,1:3);
===================================
Also I would like to ask you regarding my new meshing efforts. I am trying to mesh also the space around the 3 objects.
I use vol2mesh and i get the mesh in the attached picture. Is there a way to isolate the 3 objects (no connections between them) and increase the quality? The min quality is 0.1.
Dear Dr Fang,
Dear Dr Fang,
thanks for the support. Actually the example vol2mesh 3 with the head-brain image is exactly what i need. I imported the generated mesh in FeBio and i saw that the domains and their surfaces are differentiated. Exactly as I would like to be in my case. I need to mesh a block of tissue inside which there is the prostate the bladder and the rectum. I want to be able to differantiate the different domains and their surfaces. I try to use your example and modify it for my problem but unfortunately i get a Error using fgets
Invalid file identifier. Use fopen to generate a valid file identifier. error and I cant understand why! Could you help me with this issue? Here is my script..
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Here is the img variable stored in matlab after loading the analyze file. I hope you will be able to debug it,
load image.mat
% get bounding box range
[nbbx,fbbx]=binsurface(img>0);
% remove the background
img(img==4)=0;
% mesh the surface of the inclusions
[no,fc]=v2s(img,[],8,'cgalmesh');
% smooth the surface
newno=sms(no,fc,20,0.5,'lowpass');
% define a seed point for each region, the first is the background
% use the 4th number in each row to define the desired mesh density
% this needs the svn version of iso2mesh
seeds=[min(nbbx)+1 100;296,258,60 30;264,258,63 30;234,258,80 30];
% mesh the domain
[node,elem]=surf2mesh(newno,fc,min(nbbx),max(nbbx),1,[],seeds,[],1);
% plot the mesh
plotmesh(node,elem(elem(:,end)>1,:))
hold on;
hs=plotmesh(node,volface(elem(:,1:4)),'z<60','facealpha',0.3);
Thank you very much.
Best regards,
Konstantinos
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Hello Dr Fang,
I check your script and its working beautifully. Thank you.
However in my modeling i need to set specific constraints in the surfaces of the different regions. Is it possible to change the id of the faces of the regions to differentiate the surfaces of the materials.
What i need is to have for region 1 faces with id 1 for region 2 faces with id 2 etc.
In all my attempts so far this was my problem. I hope in your script to be able to fix this.
Best regards,
Konstantinos.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Hello Dr Fang,
I check the commands and i can visualise the different parts of the mesh. Thank you.
The average quality is indeed 0.75 but the minimum quality is very small approximately 0.01 when normaly so far is around 0.15-0.20 which is a good value for my FE software (FeBio)
Also in the interface between the surfaces exist connecting tetrahedras ( the domains are not absolutely isolated). I couldnt repair this for different smoothing factors.
I tried alternatively to make the surface meshes of each domain separately and connect the them with the merge surf function but I get the following error.
"/tmp/iso2mesh-root/pre_surfbool1.gts" "/tmp/iso2mesh-root/pre_surfbool2.gts" -v >
"/tmp/iso2mesh-root/post_surfbool.off"
ERROR: set: surface `/tmp/iso2mesh-root/pre_surfbool1.gts' is not an orientable manifold
I am using the latest svn version of iso2mesh.
Thank you in advance,
Konstantinos.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Hello Dr Fang,
Indeed this is the workflow that I followed finally.
Instead of using the cgalmesh for the different domains surf mesh i used the cgalsurf option and i merged the 3 meshes after some correction for the dense cluster nodes.
I mesh the whole surface mesh using the seeds and keeping the bounding box and that was all.
One more question please. Could you explain me briefly the choice of the seeds for future use? Its just enough to be points in the different domains or their location is also important? Thank you in advance.
Best regards,
Konstantinos.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Hello Dr Fang,
I hope this finds you well. Lately I am using the mesh generated with this method quite efficiently. I exported it in abaqus format using mesh2abaqus function and imported it in febio. While every domain inside the bounding box is differentiable and i can give different material properties, however the surfaces of the domains are not exist or at least cant be differentiated.
Do you have any ideas how this can be approached? I miss something in my meshing script or it can be possibly a restriction of febio or the abaqus format?
Thank you in advance,
Konstantinos.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Dear Dr Fang,
sorry for my late response. In my previous mail I was meaning that in the scenario where the bounding box is not contained in the mesh I have 3 seperated organs and by exporting the mesh using mesh2abaqus the domains are labeled with different labels so I can set body loads and conditions and same happens with the surfaces allowing me to set boundary conditions on the surfaces of the domains. If I keep the bounding box now i have 4 different domains and i can give different properties but I missing the surface information.
The only surfaces I can interact with are the edges of the bounding box. If I ispect the mesh in FeBio I can see that the three domains are pure tetrahedra without the triangulated surface. I hope the last sentence didn't confused you.
Τη Πέμπτη, 30 Απριλίου 2015 - 4:16:24 μ.μ. UTC+2, ο χρήστης Konstantinos Mountris έγραψε:Dear Dr Fang,
Currently I am improving my prostate FE model adding a mesh derived from clinical segmented ct images of the prostate the rectum and the bladder. As can been seen in the picture the 3 objects interesecting. I wanted to ask ou how is possible firstly to smooth the surface of the overall mesh and then specify the contact surfaces so we can set boundary conditions in these areas in the finite elements analysis. As i seen in the forum there are some problems with the merge_surfaces function. I need to use this or there is an alternative way?
Thank you in advance,
Konstantinos Mountris.
--
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.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.