What to do if the registration result is incorrect?

I have a group of dicom images, and xyz has 15mm translation respectively. But I can’t get the correct result when I use itk to perform registration. The result is about 4, - 14, and 0 mm translation. I also get this result when I use 3Dslicer to test. But I observe two groups of images through 3dsslicer, and they do have 15mm translation respectively. Why is this registration result incorrect?