Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Holes in mesh-surface when using lloyd or odt optimization on labeled images
Chronological Thread
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] Holes in mesh-surface when using lloyd or odt optimization on labeled images
- Date: Mon, 19 May 2025 09:00:06 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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 wRAO0QDOXk=
- Ironport-hdrordr: A9a23:+WWWV6H9mu/zhLOxpLqEOMeALOsnbusQ8zAXPjNKOGdom6uj5r +TdZUgpGPJYVMqMk3I9urwXZVoLUmsj6KdpLNhQItKPzOW3FdATrsSj7cKqgeIc0aOldK1l5 0QC5SWYOeRMbEQt7ed3ODXKadY/DDKytHOuc7ui1loCS9lApsO0+67MGqm+49NKTWuyaBWKH NU3Kt6mwY=
- Ironport-phdr: A9a23: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
- Ironport-sdr: 682ad6f7_Og+j/StspHk4Fzv4EakxvB7iv9TgUHr/9wPTCz2ZviLuGm7 2PBUppCYA2xZeh73mrLUV1dK8GsmR5REvtJ+ahw==
Hello,
when running you minimal example I don't have the "holes" you are
having. I'm also using CGAL 6.0.1. What platform are you on?
Are you really using that example or a modified version?
Best,
Sebastien.
On 4/28/25 10:54, Sebastian Bachmann ( via cgal-discuss Mailing List) wrote:
Hello!
Anyone has an idea what could cause that?
In like 95% of meshes I create I do not have that problem, but once in a while this turns up and is annoying...
It seems to be more often the case, when more than two labels are used (i.e, 0, 1 and 2 and not just 0 and 1).
Anything that I could test will definitely help me :)
Best,
Sebastian
Am 18.02.2025 um 09:06 schrieb Sebastian Bachmann ( via cgal-discuss Mailing List):Hi!
Sure, here is an example: https://files.reox.at/.mesh/
You may have to run it several times until such a hole appears, as no optimization is present. However, you can make them appear much easier by changing the line with refine_mesh_3 to:
CGAL::refine_mesh_3(c3t3, domain, criteria, CGAL::parameters::odt());
ODT seems to be more prone than Lloyd.
I uploaded two surface.off files as well, where this can be seen (surface.off is without odt/lloyd and the second run, surface_odt.off is with ODT active).
Best,
Sebastian
Am 17.02.2025 um 11:34 schrieb Jane Tournois:
Hello,
can you please post some code and data so that we can try to reproduce your issue?
Best,
Jane
Le 07/02/2025 à 16:30, Sebastian Bachmann ( via cgal- discuss Mailing List) a écrit :Hi!
I send this mail to the list yesterday, but apparently it was not posted - but I also did not get a rejection mail? I suspect that attachments are not allowed and get silently dropped?
So here it is again with a link instead, sorry if it is now posted twice!
I extended the example code from mesh_3D_image_with_custom_initialization.cpp to mesh a multi-label 3D image, i.e., I have for example 3 voxel values: 0 (background), 1 (some part), and 2 (some other part).
This works reasonable well, but if I go down with the cell size, I get weird artifacts in the surface of the mesh: at some random places, "holes" appear (see screenshot here: https:// files.reox.at/.mesh/ screenshot.png).
I tried to track down the problem and it can be triggered by using lloyd or odt optimization. When either of these are used, such holes appear in my mesh (much much more in odt) - if I switch them off, these holes are usually gone. But I found also images were such holes appear in certain configurations, even without llyod or odt active.
There, I can influence these holes by choosing a larger relative_error_bound in create_labeled_image_mesh_domain (my default is 1e-7) or by generating a new mesh, as there is some randomness in initialize_triangulation_from_labeled_image (in my code, I specified a seed for the PRNG and thus can reliably trigger it by choosing a specific seed).
Interestingly, it seems to appear more often when more than two labels are used. Thus, in a binary image (only 0 and 1), this does not happen. For example, if I take the same image with 3 labels and replace all 2's by 1's, I get a much better mesh.
Is there anything I may have missed to implement, for example during the creation of the label domain? I can try to track down the problem even more, but don't know at the moment where to look next and thus would appreciate some guidance!
Best,
Sebastian
- Re: [cgal-discuss] Holes in mesh-surface when using lloyd or odt optimization on labeled images, Sebastien Loriot, 05/19/2025
Archive powered by MHonArc 2.6.19+.