Skip to Content.
Sympa Menu

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

Subject: CGAL users discussion list

List archive

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


Chronological Thread 
  • From: cproulx <>
  • To:
  • Subject: [cgal-discuss] Surface reconstruction from binary volume: problem with adaptive Delaunay triangulation
  • Date: Fri, 22 Jun 2012 05:10:14 -0700 (PDT)

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.

If I change the maximum triangle size and distance criteria to 2mm, the
problem is exacerbated:

http://cgal-discuss.949826.n4.nabble.com/file/n4655300/2mmcube_view2.png

Now most of the edges are completely mangled, and the triangle density
appears random. I suppose I'm doing something wrong - can someone give me
some hints as to how I should use the library to get the results I'm looking
for?

--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/Surface-reconstruction-from-binary-volume-problem-with-adaptive-Delaunay-triangulation-tp4655300.html
Sent from the cgal-discuss mailing list archive at Nabble.com.


  • [cgal-discuss] Surface reconstruction from binary volume: problem with adaptive Delaunay triangulation, cproulx, 06/22/2012

Archive powered by MHonArc 2.6.18.

Top of Page