Help in understanding Transforms


I need some help in regards to understanding transforms and how they work.

Unfortunately i do not have a background in anything technical or computer science related fields, hence why i’m a bit lost.

For background purposes i will first discuss what i’m trying to do and what i’ve done to achieve it:

We have CT scans of patients pre and postoperative after an osteotomy of the femur to correct the position of the femoral head. The new position of the femoral head was planned pre-operatively where a patient specific saw guide and plate was created to achieve the planned position. I want to look whether this planned position was achieved and how much the eventual position differs from the planning in rotations and translations. Moreover, i also want to look at the achieved position between pre operative and post operative.

How i’m tackling this for now:

I’m starting with the measurement of pre and postoperative, later including the planning phase. I overlap both volumes/segmentations using landmarks through the fiducial registration wizard within SlicerIGT. Since the cut is right above the trochanter minor i mostly use this and some arbitrary points roughly estimated along the femoral shaft. Unfortunately the postoperative CT scans are only of the proximal femur up until the end of the plate, with callus formation and the plate itself making it difficult to get true landmarks.


The overlap seems okay, however not yet good enough. So I use the model registration module of SLicerIGT to automatically overlap the shaft below the cut, applying the transform from the models to the segmentation.


I now have the femoral shafts alligned so i can use the preoperative femur as the “ground truth” to which the proximal femoral part above the cut ( head, neck and trochanter major) can move to.


I have come as far as this part. I have not yet decided how to align the femoral heads, which will probably be done through landmark registration again. Right now i’m mostly focussed on figuring out how transforms work. This is where my inexperience shines through, please bear with me for these basic questions.

I started trying how a transform moves and how certain things are calculated. When i create a transform for a model, its bounding box is created to confine the model with the center being the middle of this box. How is the center calculated/appointed and can the rotation point/center within the transform be changed? Will this change have an effect on the rotation?

When i move into the transform module i see the translation and rotation sliders. Rotation seems to be around the origin (0,0,0). How is the angle calculated from this point?

I’m also still struggling with the concept of the coordinate system within 3d Slicer. As far as i understand, slicer is an RAS coordinate system, but it is converted to LPS? So translations and rotations will be on an LPS coordinate system?

I understand these are basic questions and founded from a lack of knowledge. I would highly appreciate it if someone could point me in the right direction for me to read up on this. Unfortunately so far i’ve had little luck in finding good sources with only basic knowledge in mind and i just seem to get more confused.

Thank you kindly