I am a complete beginner in image registration, much more I am lacking experience in debugging and tuning a registration pipeline.
Goal : Translate a head CT to the center and rotate based on a CT template image. So let’s says moving.nii is my moving image and fixed.nii is the template, in the end I would like moving.nii to be of the same size as before the registration, in the common RAI space, centered and rotated. Even as a beginner, I think it’s basic rigid registration, should be easy… well
First thing I noticed is that moving.nii and fixed.nii have different orientations :
(-1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 1.0)
Accordingly I decide to set a common space for both :
change orientation to RAI
Am I wrong doing this, is there anything incorrect about this ?
After setting the orientation, I tried a Centered Transform :
initial_transform = sitk.CenteredTransformInitializer(fixed_image,
moving_resampled = sitk.Resample(moving_image,
For a reason I don’t understand, the volume are aligned but relatively inverted (one is anterior-superior and the other one superior-anterior). Though, removing the previous orientation change solves this problem. I would like to get someone’s point of view on this, I am pretty sure to be doing something wrong