Model registration as measurement of displacement

Hey Everyone,

I’m using ALPACA from Slicermorph to measure the rotation and translation from a preoperative, postoperative and planning of the femoral head after an osteotomy.

Explanation of my methods:

I have a preoperative CT and a postoperative CT of a patient. I also have a 3d model of a planning.
I segment the femur for both preoperative and postoperative.

I alligned all of the femoral shafts (with ALPACA) and created a coordinate system so i can measure all patients from a similar point. as shown here:
front view femur alligned

Now i overlap the proximal femur above the saw cut with ALPACA, to see how it has changed in terms of rotations and translations like this (yellow= PreOp, Blue= PostOp, Red=planning):
front view femur alligned overlap proximal

I thought it would be possible to subtract the difference in each plane to get the difference between postoperative and planning. However, this does not seem to coincide.
when i use ALPACA to overlap postoperative to the planning like this:
post to planning

I get the following rotations and translations:
output slicer

My understanding of this is clearly flawed, if there is anyone who could explain to me where i’m going wrong in my thinking i would greatly appreciate it.

Comparing pose differences is a very complex topic and there are many potential approaches. Based on the clinical requirements, you need to specify exactly what differences you want to quantify, such as rotation around a specific axis, surface-to-surface distance in a specific region, absolute orientation difference, orientation difference of vectors projected on a specific plane,…