Hi friend… ANTs certainly does have this functionality - `ResampleImage`

. You can resample based on spacing or voxels, with a wide range of interpolation schemes. Here’s a simple example in ANTsPy.

```
import ants
mni = ants.image_read(ants.get_ants_data('mni'))
print(mni)
#Out[3]:
#ANTsImage
# Pixel Type : float
# Components : 1
# Dimensions : (182, 218, 182)
# Spacing : (1.0, 1.0, 1.0)
# Origin : (-90.0, 126.0, -72.0)
# Direction : [ 1. 0. 0. 0. -1. 0. 0. 0. 1.]
import numpy as np
# resample based on spacing, linear interp
mni2 = ants.resample_image(mni,np.array(mni.spacing)*2, interp_type=0)
print(mni2)
#Out[8]:
#ANTsImage
# Pixel Type : float
# Components : 1
# Dimensions : (91, 109, 91)
# Spacing : (2.0, 2.0, 2.0)
# Origin : (-90.0, 126.0, -72.0)
# Direction : [ 1. 0. 0. 0. -1. 0. 0. 0. 1.]
# resample to a specific size, nearest neighbor interp
mni2a = ants.resample_image(mni,(100,100,100),True, interp_type=1)
print(mni2a)
#Out[10]:
#ANTsImage
# Pixel Type : float
# Components : 1
# Dimensions : (100, 100, 100)
# Spacing : (1.828, 2.192, 1.828)
# Origin : (-90.0, 126.0, -72.0)
# Direction : [ 1. 0. 0. 0. -1. 0. 0. 0. 1.]
```

Note there are also a ton of interpolations - namely from the ANTsPy docs: `one of 0 (linear), 1 (nearest neighbor), 2 (gaussian), 3 (windowed sinc), 4 (bspline)`

You can download the ANTsPy binaries really quickly (takes ~1 min) from the github (github.com/ANTsX/ANTsPy)