我有一张三维脑图像(我们称其为flash),目前大小为263 x 256 x 185。我想将其调整为另一张图像的大小(我们称其为whole_brain_bravo):256 x 256 x 176,并且(希望)使用lanczos插值重新采样(Image.ANTIALIAS)。我的(失败的)尝试:
from scipy import ndimage as nd
import nibabel as nib
import numpy as np
a = nib.load('flash.hdr') # nib is what I use to load the images
b = nib.load('whole_brain_bravo.hdr')
flash = a.get_data() # Access data as array (in this case memmap)
whole = b.get_data()
downed = nd.interpolation.zoom(flash, zoom=b.shape) # This obviously doesn't work
你们有没有在3D图像上做过这样的事情?
np.interpolation.zoom
从flash
生成downed
的方式!您可以通过order=
参数更改它使用的样条插值顺序(我不知道numpy/scipy中任何Lanczos插值的实现)。 - ali_m