I have used interp2
in Matlab, such as the following code, that is part of @rayryeng\'s answer in: Three dimensional (3D) matrix interpolation in Matlab:
You might be interested in scipy.ndimage.zoom. If you are interpolating from one regular grid to another, it is much faster and easier to use than scipy.interpolate.interp2d
.
See this answer for an example: https://stackoverflow.com/a/16984081/1295595
You'd probably want something like:
import scipy.ndimage as ndimage
M2D = ndimage.zoom(volume_image, (1, scaleCoeff[0], scaleCoeff[1])