I am currently trying to register 2, 3D CT images of a human tibia. I have implemented imregister to complete this task. When I register the right to left leg of the same individual from the same day, the registration is excellent. However, when I register the left leg to the left leg of the same individual 3 years later the registration is very poor. The CT collected a slice every 0.4mm but I noticed that the image spacing was different in the other 2 planes. One CT scan had image spacing of 0.156 x 0.156 x 0.4 while the other was 0.195 x 0.195 x 0.4. Could this explain the poor registration? Is there a way to specific the image spacing to improve the registration? Please let me know if my question is unclear or if you need more information/code/images. Thank you.
Hi Colleen, I would recommend you take a look at the following example that ships with the Image Processing Toolbox:
It shows how spatial referencing objects can be used to specify the resolution of your images in each dimension and improve 3-D registration results with imregister.
In your case, the first CT image you described would have a spatial referencing object defined as:
Rct = imref3d(size(yourImage), 0.156, 0.156, 0.4);
Where yourImage is the variable that contains the first CT image.
Passing spatial referencing information can be very useful in getting imregister/imregtform to converge.