# Skull base landmarking accuracy ALPACA

**URL:** <https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279>\
**Category:** Support\
**Created:** [March 24, 2025, 12:24pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279 "2025-03-24T12:24:02Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 24, 2025, 12:24pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/1 "2025-03-24T12:24:02Z")

</div>

Hello,

I have created ~100 3D surface models of male and female human skulls from the NMDID. I aim to quantify sexual dimorphism in size and shape:

- For size, I have calculated Endocranial Volume (ECV, cm3).
- For shape, I want to use a combination of fixed single Lm and semiLM patches at the basicranium.

I need adequate landmarking coverage, but I only want landmarks that quantify variation at the basicranium. I am attempting to use the _SemiLMPatch_ function, and will merge all landmarks (see photos below). The patches are as triangles, and struggles to stay projected at the surface: does anyone have any suggestions to make this easier?  
Does anyone have advice to maintain accuracy here, as I do not want to manually landmark each specimen, so _ALPACA_ is being considered, but the landmark alignment seemed slightly ‘off’ during a first run with the template.

 ![Screenshot 2025-03-22 141652](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/b/2/b2fd5468774696f8764ac1fff7c9dc9f8c4e1a75.jpeg)  
 ![Screenshot 2025-03-22 141625](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/2/c/2c9c3b4188b66b3c9678b7378c80fa63d3756fb4.png)

Thank you for the help. Tom.

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 24, 2025, 4:00pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/2 "2025-03-24T16:00:44Z")

</div>

I think you will find our new module PlaceLMGrid easier and more flexible than the SemiLMPatch functionality. See the tutorial here: [Tutorials/GridBasedLandmarking at main · SlicerMorph/Tutorials · GitHub](https://github.com/SlicerMorph/Tutorials/tree/main/GridBasedLandmarking)

Having said that you are trying to landmark a fairly complex area. Any method that involves projecting landmarks will have hard time avoiding those holes and crest etc. Also the landmarks on the basicranium tends to be quite adjacent.

If I were you, I would look into our new extension, Dense Correspondence Analysis, which is designed to tackle exactly situations like this.

> **[GitHub - SlicerMorph/SlicerDenseCorrespondenceAnalysis: Dense Correspondence Analysis for Surfaces](https://github.com/SlicerMorph/SlicerDenseCorrespondenceAnalysis)**
>
> Dense Correspondence Analysis for Surfaces

See the section on step-by-step landmarking (DeCaL module)

---

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 24, 2025, 8:02pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/3 "2025-03-24T20:02:30Z")

</div>

Thank you for the advice.  
These are great modules, but there seems to be a small issue with the PlaceLMGrid projections on my own data:

 ![GridIssue](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/e/de4ac18b717568661efb8882c961b18d92cb7d83.jpeg)  
(perhaps my parameters are wrong here?)

I am assuming I need to manually apply all models with fixed single Landmarks before the DeCaL procedure (creating the atlas etc)?  
Thank you so much for the assistance!

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 24, 2025, 9:19pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/4 "2025-03-24T21:19:33Z")

</div>

You have couple options. The simplest will be use the scissors tool in Dynamic model to crop out the section of the model you want to put landmarks on and then use the grid landmarks. That way you have less complexity to deal with.

If you do not want to do that, you can nudge the four corner points slightly and also play with the projection parameter in the advanced setting.

> [@ThomasVanParys](#):
>
> I am assuming I need to manually apply all models with fixed single Landmarks before the DeCaL procedure (creating the atlas etc)?

If you already have manual landmarks for all the models, you are good to go with the DeCaL.

---

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 27, 2025, 7:48pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/5 "2025-03-27T19:48:09Z")

</div>

Thank you. The DeCAL method is providing me with pseudo-landmarks for the entire skull model, is this somewhat diluting the shape analysis I specifically wanted at the skull base?

I performed a practice run on 4 NMDID segmented skulls. See the Lm and model data here. It didn’t generate an atlas model, but I will try it on my faster department computer tomorrow: [https://drive.google.com/drive/folders/1yGXYLMEPK\_R\_TWymdOvB4WiCqxDAw\_yu?usp=drive\_link](https://drive.google.com/drive/folders/1yGXYLMEPK_R_TWymdOvB4WiCqxDAw_yu?usp=drive_link)

Finally, I am assuming the new aligned Lm files from DeCAL are ready for GPA+PCA in SlicerMorph? Thank you!

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 27, 2025, 10:21pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/6 "2025-03-27T22:21:55Z")

</div>

> [@ThomasVanParys](#):
>
> Thank you. The DeCAL method is providing me with pseudo-landmarks for the entire skull model, is this somewhat diluting the shape analysis I specifically wanted at the skull base?

You can subset the landmarks see: [Tutorials/DeCAL at main · SlicerMorph/Tutorials · GitHub](https://github.com/SlicerMorph/Tutorials/tree/main/DeCAL#excluding-points-from-the-atlas)

---

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 28, 2025, 1:15pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/7 "2025-03-28T13:15:46Z")

</div>

Thank you!  
Unfortunately the test run has failed and produced this atlas:

 ![Atlas_failed](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/3/3/33b8d3b9229a93f75ad24db214184cda82ae8dec.jpeg)  
Please see my data used here: [DeCAL\_NMDID - Google Drive](https://drive.google.com/drive/folders/1yGXYLMEPK_R_TWymdOvB4WiCqxDAw_yu?usp=sharing)

If you have the time to advise me on what has gone wrong here, I would be extremely grateful. Tom.

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 28, 2025, 1:36pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/8 "2025-03-28T13:36:24Z")

</div>

That’s because you did not follow the same LM ordering in all your samples.  
To avoid that, I would suggest creating a LM template and then using in all your samples.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/f/1/f1500cd0d2b923c8b46256be3f84cc47b440453f.jpeg)

---

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 28, 2025, 3:42pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/9 "2025-03-28T15:42:43Z")

</div>

Re-landmarking in sequence with the template has worked, and I have managed to generate multiple pseudo-landmarks at the skull base, instead of the entire skull vault:

 ![Basicranium2_pseudolandmarks](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/9/c/9c9b153e03ab91f464950a6365e5f3f0410488d4.jpeg)

The final `Run subsetting` stage appears to be failing however, as I can’t see the new landmarks saved in the output\_directory.  
I have \>100 skulls to landmark before `DeCAL`, but will use `ALPACA` and adjust accordingly. Then I will merge the fixed single and pseudo-landmarks together and run GPA/PCA? This has been extremely grateful Murat, thank you!

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 28, 2025, 4:58pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/10 "2025-03-28T16:58:40Z")

</div>

I would not use

> [@ThomasVanParys](#):
>
> The final `Run subsetting` stage appears to be failing however, as I can’t see the new landmarks saved in the output\_directory.

I can’t replicate this on my end. If you can share your data, I can take a look.

> [@ThomasVanParys](#):
>
> have \>100 skulls to landmark before `DeCAL`, but will use `ALPACA` and adjust accordingly.

I would not use ALPACA in this context. The main goal of DeCA is to create reliable correspondences, and ALPACA has no constraints on that. You can use ALPACA to transfer manual landmarks to your remaining skulls, but you should review them carefully before you feed them into DeCA.

---

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 28, 2025, 7:48pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/11 "2025-03-28T19:48:38Z")

</div>

Here is the output from DeCAL ran today: [2025\_03-28\_14\_20\_26 - Google Drive](https://drive.google.com/drive/folders/1j5CVbQxn2nexbFOKGBhRg5Ken_LwJwY1?usp=sharing)

That sounds great, I will use ALPACA for the fixed manual landmarks and then adjust them accordingly before DeCAL. Thank you!

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 28, 2025, 8:14pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/12 "2025-03-28T20:14:53Z")

</div>

> [@ThomasVanParys](#):
>
> The final `Run subsetting` stage appears to be failing however, as I can’t see the new landmarks saved in the output\_directory.

I am not sure I understand the issue. The subsetted landmarks are saved in the folder you shared. There are 32 LMs in each of them. Isn’t that’s what you wanted?

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/8/b/8bafca9f4c98cad2d6976360ea0df047bf4fcd4a.png)

---

<div class="post-metadata">

**Author:** ![ThomasVanParys](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@ThomasVanParys](https://discourse.slicer.org/u/ThomasVanParys)\
**Post date:** [March 28, 2025, 9:46pm UTC](https://discourse.slicer.org/t/skull-base-landmarking-accuracy-alpaca/42279/13 "2025-03-28T21:46:24Z")

</div>

My apologies, they were in my DeCAL\_output file. I now have .json files for both fixed single landmarks (32, which are present) and for the subsetted pseudo-landmarks for each model generated from DeCAL. I will then merge fixed and pseudo-landmarks for each model. Thank you Murat.
