I’m working with a collection of archaeological human teeth (permanent canines) and I’m trying to transfer a set of semi-landmarks from a reference model to several specimens.
Here’s my current workflow:
I segmented each tooth from micro-CT scans (SkyScan 1272) and exported the surfaces as .ply files.
I have manual anatomical landmarks placed on every specimen (saved as .fcsv markup files).
I manually selected and exported a set of semi-landmarks from the reference tooth (also as .fcsv).
Now I would like to transfer these semi-landmarks from the template to the other specimens.
I tried using ALPACA, but the semi-landmarks end up in the wrong positions (collapsed or off the surface). This is my first time using the module, and I don’t fully understand how it works. If anyone could share tutorials, papers, or videos explaining ALPACA or its correct parameter settings, that would be very helpful.
I also have another issue: not all my specimens are complete, so I had to impute some missing landmarks in R, and I will probably need to do the same for a few semi-landmarks.
Is it possible to perform that kind of imputation directly in 3D Slicer, or should it be done in R?
Thank you very much for your clear answer — it really helped me understand when to use ProjectSemiLM instead of ALPACA.
I was able to apply the module successfully, and it worked very well overall. Only a few semi-landmarks were not perfectly projected, but I corrected those manually using the Markups module.
I have one additional question related to incomplete specimens. In my dataset, many teeth show slight dental wear. In those cases, I imputed the corresponding anatomical landmarks in R, but I am not sure how to properly transfer the semi-landmarks.
What would you recommend doing in those cases? Is there a way to impute (or estimate) the missing semi-landmarks directly in Slicer? Or would it be better to create a new template excluding some semi-landmarks and then impute them in R? The challenge is that not all specimens have the same degree of wear…
Lastly, could you recommend any bibliography, tutorials, or methodological papers for cases involving incomplete specimens?
If this doesn’t work out, you can try to manually create TPS warping between your reference and target landmarks using the IGT Fiducial Transform wizard in IGT extension (make sure to use the Warping transform), and then apply that to your reference semi-landmarks.
Some tools in R does imputation of missing landmarks, but I am not sure which one works better. A few we tried in (Morpho and geomory) didn’t come out so good.
Thanks again for your suggestion — I tried using the Fiducial Registration Wizard with the warping (TPS) transform between my reference and target landmarks, but so far I haven’t managed to get good results. The deformation applies, but the semi-landmarks end up displaced from the surface.
I’m currently evaluating whether to remove the problematic landmark
That’s because only the control points on the TPS deformation is guaranteed to be on the model, everything else will be interpolated. So if the morphology is sufficiently different between two models, or you have sparse coverage of control points (i.e. your anatomical landmarks) transfer may result in points floating in space. That’s why we have the projection option in the PlaceSemiLMs module.
You can either try to increase your corresponding control points in regions where things do not line up.