SlicerMorph Mean geometry getting flipped when exporting

Hi all,

I am using SlicerMorph’s GPA to get a mean shape from multiple geometries coming from multiple biological samples. I have registered my sample volumes to be in the same direction and then marked landmarks on them. Then I used the GPA module. I get the expected results. However, when I export the mean shape (“PCA Warped Volume”) and load it in MeshLab or Paraview along with an actual sample’s model, it is flipped (refer to the image below, yellow: an actual geometry, blue: mean geometry). I tried with “use Boas coordinates” ticked and unticked, but it didn’t help.

What am I doing wrong?

You are not doing anything wrong. This is expected. There is no reason to expect the after GPA the coordinate system will be consistent with the original reference frame. We do rotations, scaling and other operations that will definitely alter the orientation and guarantee that it will not be the same.

Why do you need the display your exported mean shape in the same orientation as your sample?

Regardless you can do this in two ways:

  1. Use SlicerMorph’s FastModelAlign to register the mean shape model to the sample of your own choosing rigidly (and optionally apply the same transformation to the LMs if you want to display them on top of the rotated mean shape model
  2. Use the Fiducial registration module of Slicer to accomplish this. Set the landmarks of the sample you would like mean model to be aligned to as the Fixed Landmark and the mean model LMs as Moving and create a new Linear Transform (rigid). You can then use this transform to rotate the mean model and its landmark to the orientation you prefer.

Thank you for the input.

I need it aligned because I have point data with measurements coming from the original experiments, and I want to average all the experiment data (unify) to give a holistic idea about the organ being studied. So, I was thinking of getting the mean shape and then interpolating the point data onto the mean shape and computing the mean by averaging all the interpolated data (using Paraview). I am new to the unification part, so if you have any input on it using Slicer, I would really appreciate it.

I originally used the Fiducial registration wizard to register all experiment volumes. I will use the same as you suggested.

Thank you again.

I am still somewhat fuzzy about what you are trying to do, but it sounds to me you might want to look into diffeomorphic deformable volumetric registration more than landmarks based ones, if you want to map points between spaces…

Thank you once again. Really appreciate it. I’ll check on diffeomorphic deformable volumetric registration.