python中不同插值方法的三维图像插值

2024-09-29 08:23:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python很陌生。我有一个NIFTI格式的3D大脑图像。nii.gz公司)我想用不同的方法(最近邻法,双线性法,样条法,…)插值,并比较结果。图像的体素大小是1*0.45*0.45,我想让它变成0.45*0.45*0.45。你知道吗

我知道这是一件很容易的事。我所做的和存在的问题是:在Scipy中,函数只得到点,但这里有一个图像。可用于获取图像输入的函数仅适用于二维图像。你有什么解决办法吗?你知道吗


Tags: 方法函数图像格式公司scipy样条插值
1条回答
网友
1楼 · 发布于 2024-09-29 08:23:20

给你:

def rescale(data,affine):
    #compute rescaling coef
    original_resolution = [abs(affine[0,0]),abs(affine[1,1]),abs(affine[2,2])]
    target_resolution = [0.45,0.45,0.45]
    rescaling_coef = np.divide([float(i) for i in original_resolution],[float(i) for i in target_resolution])

    # X and Y dimension
    data = skimage.transform.rescale(data, (rescaling_coef[0],rescaling_coef[1]), order=1, preserve_range=True)
    # Z dimension 
    #flip axes first
    data = np.swapaxes(data,0,2)
    data = skimage.transform.rescale(data, (rescaling_coef[2],1), order=1, preserve_range=True)
    data = np.swapaxes(data,0,2)


    return data, rescaling_coef

相关问题 更多 >