Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Create a coarse surface mesh produces areas of very small elements

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Create a coarse surface mesh produces areas of very small elements


Chronological Thread 
  • From: Jane Tournois <>
  • To:
  • Subject: Re: [cgal-discuss] Create a coarse surface mesh produces areas of very small elements
  • Date: Thu, 25 May 2023 08:15:39 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:aTmNlq1EzxksojxdikEhngqjBC4kLtp133Aq2lEZdPU0SKClfr OV7ZEmPHjP+U0ssRAb6Ki90ca7IE80maQFh7X5eI3SJTUO21HJEGgB1+XfKlTbckWUnINgPO VbAs9D4bbLfDpHZKjBkW2F+pobsbq62ZHto9jei11pTQ1sdoF4hj0XNi+rVmtoRU16HpIyGI HZxscvnUvbRV0nKvuBQkM9d8zoj+HwuPvdEGE7Li9i1zLLtwqBzITRNSO1ty1uLw9n8PMcyi z+qiTc3JiKjt3T8G6g61Pu
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: 646efd0d_UmhZvFY5gvRpuJARWbpRgJe6rPkYhLqAHjwOjIxwxi4BKbu fvyEqpTrJM2D9iIN9Ltk0Uj12r/ECzFPKVQxEGA==

Hello,

this local over-refinement issue has been fixed in the master branch by the following pull-request :
https://github.com/CGAL/cgal/pull/6978

Which version of CGAL are you using?

Best,

Jane.

--
Jane Tournois, PhD
R&D Engineer at GeometryFactory
http://www.geometryfactory.com/

Le 24/05/2023 à 15:33, Sebastian Bachmann ( via cgal-discuss Mailing List) a écrit :
Thanks for the hint, this seems to be indeed the problem!
Calling the script now several times reduces the chances that this happens, however after a few trials I got to a random placement which had again small elements.
I have to read the code a bit to understand how the points are constructed, but I think that is do-able!

Thanks for the quick help!

Best,
Sebastian

On 24.05.2023 14:57, Andreas Fabri wrote:
Have a look at this section

https://doc.cgal.org/latest/Mesh_3/index.html#title30


On 5/24/2023 2:56 PM, Andreas Fabri wrote:
Hello,

Our meshing experts don't work today.   My guess is that it has to do with the initialization
of the mesh generation process.   From a point P inside the volume we shoot rays and
the intersection points of the rays with the surface are inserted. When the point P
is close to the surface you may get two intersection points close on the surface.

Andreas


On 5/24/2023 2:51 PM, Sebastian Bachmann ( via cgal-discuss Mailing List) wrote:
Hi!

This is an image of a set of 20 and I can see this behaviour on 4 of them. On 420.inr it does not happen and the mesh looks good.
The code was compiled against 5.4 (1050401000).

If I look at the imges, I can not see any voxels standing out at the position - at least not more than on other places, where it works fine.
At least from the image, I cannot make out any particular feature that would cause that.

Is there any way to debug this and see what's going on?

Best,
Sebastian

On 24.05.2023 14:34, Sebastien Loriot ( via cgal-discuss Mailing List) wrote:
Do you observe this behavior on all images or only a specific one?
For example, when using 420.inr do you have such an issue?

What could case such an over refinement (provided you are not using master version of CGAL) is if the mesher is trying to respect some
topological criteria (a very tiny handle for example, but that would be surprising in an image).

Best,

Sebastien.

On 5/24/23 14:14, Sebastian Bachmann ( via cgal-discuss Mailing List) wrote:
Hi everyone,

I have an image from which I want to create a coarse surface mesh.
The code I use for that is based upon the example mesh_3D_image_with_features.cpp, however it is adopted to then extract the surface and write an OFF file: https://gist.github.com/reox/0df1f446f0ff9d46e0688b60e8e858b8

As you can see, the Mesh_criteria is set to a really coarse mesh. The input image (attached) I use has a voxel size of around 0.5mm and represents a proximal femur.
Now, for some reason, I get extremely fine triangle elements in certain places (see attached image).

I find that peculiar, as the facet_distance is already quite large, and I thought that this might be the main issue here. I remembered, that also the relative_error_bound in the create_labeled_image_mesh_domain can have an influence, but reducing this rather creates a "spiky" mesh than removing those small elements. (Eventually when it is set to 0.1, the small elements vanish, but then the vertices are all over the place and not on the isosurface anymore...)

Is there anything I missed here, maybe did I use wrong parameters? Or is there another way how I could produce such coarse meshes?

Best,
Sebastian







Archive powered by MHonArc 2.6.19+.

Top of Page