Digitizing semilandmarks


Does anyone know if there is a way to digitize equally spaced semilandmarks over (and constrained by) a selected area of a surface mesh? In other words, can I ‘paint’ or ‘highlight’ the faces of a surface mesh over which SlicerMorph could place equally spaced (surface) semilandmarks? Currently, I use Viewbox software to do this and, I must admit, this is the one feature that makes it difficult for me to abandon. It makes the generation of a template fast and easy, and it provides a lot of flexibility in the placement of surface semilandmarks.


Yes, you first manually draw a curve, and then use the resampling function of the curveMarkup to specify the number of equidistant point (with or without constraining to the surface).

For more details see the tutorial:

Tutorials/Markups_2 at main · SlicerMorph/Tutorials · GitHub

@muratmaga Thanks for this. I was wondering about digitizing surface semilandmarks. For example, can you specify an area, rather than a curve, over which to generate semilandmarks? I know that PseudoLMGenerator can be used to digitize a large number of landmarks that can then be removed. But is it possible to constrain the generation of pseudo-landmarks over a number of painted or highlighted faces of a mesh rather than using the entire mesh? That would really speed up the process of digitizing surface semilandmarks. If that was possible, then I could quickly add a specified number of equally spaced landmarks over a surface of my choosing, or multiple surfaces (such as the different articular surfaces of a tarsal or a carpal). Thank you!

But then how do you know what’s the corresponding vertex in the next mesh? What if the mesh densities are different?
To my knowledge, this usually done by drawing a polygon shape on the mesh manually and subdividing through some sort of a grid, so that when you are sampling on a new mesh, the grid structure allows for correct correspondence.
All the necessary pieces are available in slicer (see surface markups extension), but it needs to be optimized by someone who are familiar with this workflow more carefully. GitHub - SlicerHeart/SlicerSurfaceMarkup: Extension to test the new grid surface markup with

Thanks @muratmaga! The function I’m describing is implemented in dhal Viewbox software. I just wanted to confirm that it was not possible in SlicerMorph before giving up!

There is no such thing as not possible in 3D Slicer. It is a matter of someone putting the time and resources in the making it happen. We find the tools within 3D Slicer and SlicerMorph to be sufficient for the types of analysis we do.

If you are missing a specific function, instead of opting for commercial software for it, you can consider hiring the people (e.g., on this forum, or locally) to develop the tool you are missing, and contribute back to the community. It might be cheaper than buying licenses of viewbox. Just a thought.

1 Like