# GPA interactive 3D visualization model deformed

**URL:** <https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280>\
**Category:** Support\
**Created:** [September 24, 2026, 7:27pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280 "2026-09-24T19:27:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![PitaChib](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pitachib/32/78512_2.png) [@PitaChib](https://discourse.slicer.org/u/PitaChib)\
**Post date:** [September 24, 2026, 7:27pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/1 "2026-09-24T19:27:58Z")

</div>

Thanks ahead of time, been scratching my head about this for a day so I think it’s time to ask…

I’m trying to generate animation of PC warping on my closest to mean shape model (a rodent brain), and when I loaded the reference model and the LM set, it seems like they align well, but the endocast is just deformed. I then tried to load the endocast .ply outside of gpa, it looks completely normal. I even tried loading the same endocast model with the LM set outside of GPA module to see if they align, and they align perfectly and endocast not deflated. See attached figures. Any clue?

Thanks!

 ![Screenshot 2026-09-24 at 14.09.50](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/5/d529139c59aa641112c30537f9374ef607cd48eb.jpeg)

Deflated brain.

 ![Screenshot 2026-09-24 at 14.11.41](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/1/d109cb877fc2a238a56c2e6432b56af4af7e72c6.jpeg)

loaded outside of GPA module

 ![Screenshot 2026-09-24 at 14.12.15](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/8/8/88722fdff869d9d0588cce4bed01dacf9e75bc21.jpeg)

Inside GPA module

Recording of the warping

---

<div class="post-metadata">

**Author:** ![PitaChib](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pitachib/32/78512_2.png) [@PitaChib](https://discourse.slicer.org/u/PitaChib)\
**Post date:** [September 24, 2026, 7:36pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/2 "2026-09-24T19:36:12Z")

</div>

I suppose I should add, I used the sample dataset on mouse skull and it worked perfectly fine for me.

---

<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:** [September 24, 2026, 8:08pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/3 "2026-09-24T20:08:13Z")

</div>

I am not sure I understood the problem. Are you saying yellow model is also deformed (because it shouldnt, that the visual of the reference model). Blue is the one that should get deformed by the PC axes, which seems to work in your recording.

---

<div class="post-metadata">

**Author:** ![PitaChib](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pitachib/32/78512_2.png) [@PitaChib](https://discourse.slicer.org/u/PitaChib)\
**Post date:** [September 24, 2026, 8:16pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/4 "2026-09-24T20:16:00Z")

</div>

Sorry for the confusion Murat, yes when I load the reference model seems like both windows are equally flattened before I apply any of the PC axis warping on it (Fig 1). But this flattening seems to only appear loading it into the GPA module, because when I load it outside in general data, it’s not flattened (Fig 2).  
To test this out, I then loaded the sample data inside the GPA module, which is not flattening the models loaded in the same way as my samples.

Hope this is better described, and thanks!

---

<div class="post-metadata">

**Author:** ![PitaChib](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pitachib/32/78512_2.png) [@PitaChib](https://discourse.slicer.org/u/PitaChib)\
**Post date:** [September 24, 2026, 8:20pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/5 "2026-09-24T20:20:59Z")

</div>

And yes the PC axes deforming works, but I wanted to show how flat it was because it seems like it’s not touching any of the midline landmarks but hanging on to other landmarks So I just don’t know why would this happen.

---

<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:** [September 24, 2026, 9:06pm UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/6 "2026-09-24T21:06:46Z")

</div>

> [@PitaChib](#):
>
> when I load the reference model seems like both windows are equally flattened before I apply any of the PC axis warping

Note that reference model loaded is not used as-is. First it is transformed into the meanshape of the population. Because every result is with respect to that mean shape. And what you see as the yellow model is the meanshape approximation from that reference model.

If you are seeing a strong deformation on the reference model, it might come in couple places.

1. You didn’t choose the sample closest to the meanshape, and you are using an outlier.
2. You have very distinct samples in your model, so the the calculated meanshape is really not representative of any specific sample. This commonly happens with multi-species datasets with disparate morphology, or datasets that have very strong outliers (so that they shift the mean so much).

---

<div class="post-metadata">

**Author:** ![PitaChib](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pitachib/32/78512_2.png) [@PitaChib](https://discourse.slicer.org/u/PitaChib)\
**Post date:** [September 25, 2026, 4:52am UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/7 "2026-09-25T04:52:15Z")

</div>

Thanks for the response Murat, this is super interesting. I went back and looked for my landmarks alone, they seems fine and I have already removed the ones that are likely juvenile with different shape.

I chose the specimen that is closest sample to mean when it first returned in log of the GPA. Also this is the least procrustes distance specimen. My dataset is only one species. I’d think I don’t have a really strong outlier. (see later for plots)

So i was thinking, maybe the one side flatten is from my landmarking scheme, which is only on half of a cranium? And you can see alone the midridge is actually a set of sliding semilandmarks that I merged into a set of fixed landmarks (before I discovered GPA i was using geomorph package in R so that can slide around I suppose). And maybe that’s the reason the model isn’t sticking to those mid-ridge landmarks but sticks to other regular fixed landmarks? I see in the analysis.json there’s “SemiLandmarks”: , but I don’t see where to set it up in the window. Should I alternatively load the pre-merged landmark files (same specimen would have multiple files) to one analysis?

Again, thanks so much for your time.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/c/e/cee33338348850a289fedfecd3819dfdf7464b7b.jpeg)

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/e/c/ec476d54e6a393cfa298e8228a9347628a62eecc.png)

---

<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:** [September 25, 2026, 5:12am UTC](https://discourse.slicer.org/t/gpa-interactive-3d-visualization-model-deformed/48280/8 "2026-09-25T05:12:03Z")

</div>

> [@PitaChib](#):
>
> So i was thinking, maybe the one side flatten is from my landmarking scheme, which is only on half of a cranium?

Yep, most likely. There is nothing to constrain the TPS deformation on the other side. I suggest using the Dynamic Modeller and crop the reference model to contain only the landmarked half and see if it help.
