Surface questions

Dear All
I have a model (solid) and I would like to do following:

  • Generate a surface from the model. I tried Sobel edges, modifying the model properties, somes extensions but the result are not the same as I get with Blender.
  • Display the triangulation Mesh as wireframe, where I can only see the edges and vertices.
  • Is it possible to produce all the triangles in the same size? if yes, how?

Thanks!

Is it a polydata or an unstructured grid mesh?

Sobel operator is for image processing. It is not applicable to meshes.

You can adjust model display options, including wireframe-style display in Models module Display section.

If you generate model from image and disable decimation then size of triangles in your mesh should be very similar.

1 Like

Is it a polydata or an unstructured grid mesh?
Sobel operator is for image processing. It is not applicable to meshes.

I generated the model from a label-map and saved it as stl file I guess it is polydata). I used Sobel Edges on the label map image (sorry for not explaining).

You can adjust model display options, including wireframe-style display in Models module Display section.

Thanks for the info. I can display wire-frame now.

If you generate model from image and disable decimation then size of triangles in your mesh should be very similar.

I used the default options, so i guess zero means disable:
compute surface normals =1
decimation factor = 0
smoothing factor =1

I also tried different number but I keep getting some triangles that are very large comparing to the others.

Yes, decimation = 0 disables decimation. You may also try disabling or decreasing smoothing factor. If you still not get what you need then post a screenshot so that we can have a look.

Thanks for your concern. I did as you said, here as a sample Sample

This seems to be a very nicely triangulated surface. To make triangles less elongated, you can resample your input volume to have cubic shaped voxels, by checking Isotropic spacing checkbox in Crop volume module when you crop/resample your original volume to prepare it for segmentation.

1 Like

Thanks for the feedback. I will try the resampling idea.

Resampling was a helpful idea, thanks a lot. . I have two more questions:

  • Is it possible to control the number of these equal triangles?
  • Is the triangulation applied only on the surface or it produces tetrahedrons as well?

I found out these tools and they are very useful:

If you think they are better than the one in slicer, it would be a good idea to integrate this work in slicer. I am planning to integrate them as a slicer extension in the upcoming weeks (if someone is not done this before).
Best!
Ibraheem

Triangle size is determined by the input volume’s resolution. You can decrease the number of triangles in flat regions by replacing them by larger ones by using decimation option (you specify the fraction of points that should be removed, so decimation factor of 0.9 means that you remove 90% of the triangles).

Segmentation generates a surface mesh. To generate volumetric mesh, you can use SegmentMesher extension. SegmentMesher uses Cleaver2 or Tetgen meshers internally, which are well-established algorithms.

instant-meshes and robust_hex_dominant_meshing methods seem to be for remeshing of existing surface mesh to improve mesh quality. I don’t think they are relevant for us, as from images we can always generate high-quality meshes that contains triangles with equal size with a nice aspect ratio.

1 Like

Thanks for the feedback. I will try your suggestions.