How does ITK/SimpleITK account for dimensional differences between images during registration?? OR do they need to be padded accordingly?
ITK/SimpleITK perform registration in physical space. The images are treated as physical objects with metric dimensions. The number of pixels/voxels can be very different between the two images and the computations account for that.
For more details see the registration overview and possibly go through the SimpleITK Tutorial, intro, foundations and registration sections should give you a good grasp of how registration is done in ITK/SimpleITK.
So when the results are outputted, for example translation values from translation transform, what do they represent? What metric in physical space? and how can I get the pixel distance?
Thank you so much for your help!!
Generally speaking the ITK/SimpleITK algorithms are agnostic to the pixel/voxel size metric unit. The image file readers in ITK/SimpleITK do convert sizes to millimeters.
Consequentially, the translation induced by a transform is usually in mm. To convert metric sizes to pixels you will need to use the pixel/voxel physical sizes,
image.GetSpacing(). Note that usually pixels/voxels are not isotropic, different size in x,y,z axes.