Markups - Creating a SINGLE file including Landmarks (fixed) and Curves (semilandmarks) - problem while resampling

Hi all,

I would like to pose a serie of (fixed) landmarks on my model and in between those landmarks, curves (semilandmarks).

I can make a node for landmarks using ‘create fiducial markup’ and another node for curves using ‘create open curve markup’. To insert my landmarks into the curves I can copy paste the landmarks from the “fiducial markup node” into the "open curve node ".

BUT when I use the “resample” option to get evenly-spaced points, it will resample all my markups - landmarks and curve points - meaning that my landmarks will move - while I want them to be fixed - and that I will not have the same number of semilandmarks between the landmarks for different specimens, which makes the generate file (fcsv) not comparable between specimens.

The only solution I see is to create different nodes for different curves (and so resample them separately), but then I have to export them separately as well, and I want a single file per specimen.

Is there a way to fix the landmarks delimiting a curve, and resample the different curves separately? And to get a single file with all markups.

Thanks a lot for your help!

We plan to add a right-click menu action that would allow exporting all markup nodes in a subject hierarchy folder into a single mrk.json file. Would this fulfill your needs?

Yes, if it’s possible to export several nodes into a single file (fcsv as well would be great), it should work for what I want to do…


Can you copy here the content of a file (in json or csv format) that you would ideally like to see as an output of the export operation? Probably it can be generated with 5-10 lines of Python code.

Yes, only the first and last LM in a resampled curve is treated as a fixed. The other points are simply enabling you to draw the curve in the way you would like to draw. As you suggested, the solution is to create multiple curves, and resample them independetly. Remember you can also resample them as a new curve so that they don’t overwrite the original points.

Until the new feature @lassoan mentioned is available, you can choose to create a blank curve node, and copy and paste contents from individually resampled curves.