Hello All -
I have run across something that I don’t quite understand, but I’m hoping someone here can help.
I am trying to register 2 medical images (PET, if that matters) using a BSpline registration. The images are the exact same dimensions (168x168x168), the pixel sizes are the same, and the pixels are isotropic (same size in all 3 dimensions).
I am using Mattes Mutual Information as the metric with 50 histogram bins, the LBFGS2 optimizer and SetOptimizerScalesFromPhysicalShift. I am using a sampling percentage of 2.5% and setting a seed value to reduce run-to-run variability.
If I set the image spacing to [1.0, 1.0, 1.0] and run the registration, then re-run the registration with the image spacing set to [4.0, 4.0, 4.0] I get pretty different results. I have also tried spacings of [0.1, 0.1, 0.1] and [10.0, 10.0, 10.0]. Interestingly the 0.1 and 10.0 spacings give results pretty close to the 4.0 spacing, whereas the 1.0 spacing seems to give the worst results.
In addition, if I run the registration multiple times for each spacing, the variability for the 1.0 spacing is much greater than the variability of the 0.1, 4.0 or 10.0 spacing (for the 0.1, 4.0 and 10.0 spacing the run-to-run variability is imperceptible, but this is not true for the 1.0 spacing).
Is the image spacing, somehow used in setting the optimizer scales? Is there something else I am missing here? What should the spacing be set to? Since the pixels are isotropic, I thought the actual spacing value really didn’t matter as long as all 3 were the same, but this is obviously not true …
Thanks for any light you may be able to shed on this!