Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] how to mesh medical image with multiple domains with features ??

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] how to mesh medical image with multiple domains with features ??


Chronological Thread 
  • From: Pádraig Ó Conbhuí <>
  • To:
  • Subject: Re: [cgal-discuss] how to mesh medical image with multiple domains with features ??
  • Date: Mon, 7 Mar 2016 17:36:47 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:/KxxIBWdnYq66Aql9ea42leTRTnV8LGtZVwlr6E/grcLSJyIuqrYZh2At8tkgFKBZ4jH8fUM07OQ6PC/HzxZqsfQ+Fk5M7VyFDY9wf0MmAIhBMPXQWbaF9XNKxIAIcJZSVV+9Gu6O0UGUOz3ZlnVv2HgpWVKQka3CwN5K6zPF5LIiIzvjqbpq8KVM1wD1Wv1SIgxBSv1hD2ZjtMRj4pmJ/R54TryiVwMRd5rw3h1L0mYhRf265T41pdi9yNNp6BprJYYAu2pN5k+VqFSWTQ6L3gutoqsrgjGVQLJ530GU2xQnAAPGBnA9Bi9X5H/tWzxueN5nSWbJsbrVqtnZTP35KhiTFrkiTwMKiUi2GDRkM15yqxB8zy7oBkq+wfYeoiUO7LFNojae9kaWO8JCt5WXCtHCIOhbqMACuMAOaBTqIyr9AhGlge3GQT5XLCn8TRPnHKjhaA=

Hi Konstantinos,

I think you're trying to generate a 3D volume mesh from regularly gridded data, so I'll go with that for the moment.

The example http://doc.cgal.org/latest/Mesh_3/Mesh_3_2mesh_3D_image_8cpp-example.html shows one way to generate a 3D mesh from image data.
The example http://doc.cgal.org/latest/Mesh_3/Mesh_3_2mesh_two_implicit_spheres_with_balls_8cpp-example.html shows how to take one mesh domain (Implicit function in this case) and turn it into a domain with features, and then how to add features to that domain.

To combine the two, it should be as simple as swapping

typedef CGAL::Mesh_domain_with_polyline_features_3<
CGAL::Implicit_mesh_domain_3<Function,K> > Mesh_domain;

in the second example for

typedef CGAL::Mesh_domain_with_polyline_features_3<
  CGAL::Labeled_image_mesh_domain_3<CGAL::Image_3,K> >  Mesh_domain;

to have an image mesh domain with features rather than an implicit function domain with features.

Then go about loading the image as usual in the first example, and add the features as in the second.


If you're using gridded data, I'm not sure how exactly you might go about automatically finding sharp features. The fundamental problem you've got is that any small change in position on a grid must be done in 90 degree steps, which is a pretty sharp angle, itself probably worth detecting. I've had some luck by extracting surface points of my domains and using a poisson reconstruction function to generate an approximate surface mesh, which gets rid of the gridded nature of your domain. You could then loop over the edges of the surface mesh and extract the edges where the two facets they touch have a large angle between their normals. You might then snap the edges you find back to the surface of the original gridded domain.

However, I used the poisson reconstruction approach to smooth out my data, not to find sharp edges in it, but it might still work. There are more than likely much better ways of doing this though.

Regards,
Paddy

On Tue, Mar 1, 2016 at 6:44 PM, kostadus <> wrote:
Hi Paddy!!
Thank you very much for your kind and extensive reply and I am sorry for my
late reply!! I haven't seen your post before and I had give up with CGAL
back then. I saw your post fortunately and is a motivation to try further
solve this issue. The problem I am facing is that I want to consider the
features of the image "segmentation features" and I dont know how to add
them explicitly!?  Is it possible that you have an algorithm to detect this
type of features? There is a paper in the references of CGAL demonstrating
this procedure but disappointingly is not implemented in CGAL still.

Thank you for your first answer and in advance for a future reply.
I will be alert this time. haha

Best regards,
Konstantinos.



--
View this message in context: http://cgal-discuss.949826.n4.nabble.com/how-to-mesh-medical-image-with-multiple-domains-with-features-tp4661320p4661658.html
Sent from the cgal-discuss mailing list archive at Nabble.com.

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss






Archive powered by MHonArc 2.6.18.

Top of Page