ANTs: Rigid registration error with anisotropic voxels
In https://github.com/timholy/antsbug I’ve prepared two registration problems (see the run.sh
script). For the first, the two images differ by a rotation. For the second, I’ve simulated the effect of anisotropic sampling by reducing the resolution along the second axis by a factor of 2. The *.nrrd
files encode this change in scale via their space directions
field.
If ANTs were invariant to changes in scale, you would expect the result to be nearly identical for the two. That’s not what happens—the registration works well only for the one with isotropic resolution:
fixed | moving |
---|---|
And the results:
but after reducing the horizontal resolution by a factor of 2 we get
I’m sure it’s obvious, but just in case: it’s worth noting that the definition of “rigid” has to compensate for the scale change, namely that you have to alter your rotation matrix R
with inv(S)*R*S
where S
is the anisotropic scale-transform.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 18 (10 by maintainers)
re: julia - that sounds nice. i’ve been thinking about that. this might interest you as it shows some of the broader capabilities:
https://github.com/ANTsX/ANTsPy/tree/master/tutorials
regarding antsr installation, this is usually the procedure i use:
or see
https://github.com/ANTsX/ANTsRNet/blob/master/.travis.yml
for another way