Hello, I’m rather new to 3D Slicer, and I’d greatly appreciate any advice!
I am interested in obtaining the rotational transformation matrix after registering one model to another. For registration, I used the Slicer CMF module using the surface-based registration method. Are there any ways for me to find out the rotations the moving model underwent?
Hi, in the Surface Registration module, you have selected/created an “Output Transform”. Check the name of that transform. Then go to the Transforms module in Slicer, select the same transform name, and the 4x4 homogeneous transformation matrix will be displayed under Edit/Transform Matrix. The upper left 3x3 part of that matrix defines the rotation. I hope this helps.
Sorry for troubling you all, but I’d be grateful if you could kindly help with a followup question to my original question.
I’ve been having trouble utilizing the rotational transformation matrix to suit my needs, and wanted to make sure I was interpreting things correctly.
What I am interested in knowing is the rotational transformation matrix in degrees, and I have been using an online calculator (3D Rotation Converter) to convert the 3x3 part of Slicer’s 4x4 matrix.
As a test, I created a cube on Meshmixer, and duplicated it. Then, I rotated the duplicate 11.1, 22.2, 33.3 degrees in the x, y, and z axes, respectively. After exporting these 2 surfaces, I then used the Slicer CMF registration and got the transformation matrix in the 4x4 matrix format.
However, when I tried to convert the 3x3 matrix to angles, all of the numbers seemed quite off from the 11.1, 22.2, 33.3 degrees. Even when accounting for possible registration errors, the discrepancies seem quite severe (plus on visual inspection the registration seems accurate).