Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Surface reconstruction from binary volume: problem with adaptive Delaunay triangulation

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Surface reconstruction from binary volume: problem with adaptive Delaunay triangulation


Chronological Thread 
  • From: "Laurent Rineau (CGAL/GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] Surface reconstruction from binary volume: problem with adaptive Delaunay triangulation
  • Date: Tue, 03 Jul 2012 16:50:58 +0200
  • Organization: GeometryFactory

Le vendredi 22 juin 2012 05:10:14 cproulx a écrit :
> I am attempting to reconstruct a mesh from a binary volume, and encounter
> issues related to the maximum triangle size.
>
> My input is a simple 10x10x10 volume, with 1 mm pixels in x, and 0.33 mm
> pixels in y and z. A 4x4x4 binary cube is defined in the center of the
> volume. The bounding sphere is centered on the volume, and has a radius of
> 14 mm (squared radius of 200 mm^2).
>
> (my real input is of course much more complex, but this toy example displays
> well the issues I encounter).
>
> Here is an excerpt of the relevant code section:
>
>
> /typedef CGAL::Gray_level_image_3<GT::FT, GT::Point_3> Gray_level_image;
> typedef CGAL::Implicit_surface_3<GT, Gray_level_image> Surface_3_Gray;
> ...
>
> Gray_level_image image(image3, grayThreshold);
>
> // definition of the surface, with 10^-5 as relative precision
> Surface_3_Gray surface(image, bounding_sphere, 1e-5);
>
> // defining meshing criteria
> CGAL::Surface_mesh_default_criteria_3<STr> criteria(30.0, 0.02, 0.02)
>
> // meshing surface, with the "manifold without boundary" algorithm
> const int NUMBER_OF_INITIAL_POINTS = 20;
> CGAL::make_surface_mesh(c2t3, surface, criteria,
> CGAL::Manifold_with_boundary_tag(), NUMBER_OF_INITIAL_POINTS);/
>
> If I use a small triangle size and distance criteria (0.2mm for both), I
> obtain the following results:
>
> http://cgal-discuss.949826.n4.nabble.com/file/n4655300/0_2mmcube_view2.png
>
> The accuracy is close to what I'm hoping to obtain, but the number of
> triangles is way too high, and I don't understand why the tessellation is so
> irregular (I'm assuming that the areas of greater density correspond to the
> initial random points of the mesh, but that's not exactly useful). I was
> expecting the library to correctly adjust the triangle size in the areas of
> discontinuity, with most of the triangles concentrated on the edges and
> corners of the cube.

Your hypothesis about the initial points is right. Probably the center of the
sphere is too close to a boundary of the small implicit domain you want to
mesh. A "fix" could be to try to detect/compute the center of the small
object
you want to mesh, chose the center of the sphere accordingly, and increase
the
radius of the sphere so that the sphere keeps enclosing the whole cube.

Do you have a way to know a "center point" of your small object inside the
cube?

--
Laurent Rineau, PhD
R&D Engineer at GeometryFactory http://www.geometryfactory.com/
Release Manager of the CGAL Project http://www.cgal.org/



  • Re: [cgal-discuss] Surface reconstruction from binary volume: problem with adaptive Delaunay triangulation, Laurent Rineau (CGAL/GeometryFactory), 07/03/2012

Archive powered by MHonArc 2.6.18.

Top of Page