Python 是否建议调整仅由0和1组成的3d图像阵列的大小?

Python 是否建议调整仅由0和1组成的3d图像阵列的大小?,python,numpy,image-resizing,scipy.ndimage,Python,Numpy,Image Resizing,Scipy.ndimage,我想调整(缩小)脑肿瘤分割的地面真实三维图像 以下是一些g.t.+大脑图像: G、 图像是三维numpy数组,仅包含0和1值(仅绿色体素和黑色体素,G.t.图像中不包括大脑) 我使用了scipy缩放,顺序为3,最近模式。调整图像大小后,有些图像可以,但有些图像不行。您可以在上面的第一张和第二张图片中看到问题肿瘤区域有许多在调整大小之前没有的孔。第三张图像似乎没有问题 我修改了缩放功能中的一些选项,但没有找到合适的解决方案。请帮我解决这个问题。谢谢。我们希望在调整大小前后看到第一张图片,而不是两

我想调整(缩小)脑肿瘤分割的地面真实三维图像

以下是一些g.t.+大脑图像:

G、 图像是三维numpy数组,仅包含0和1值(仅绿色体素和黑色体素,G.t.图像中不包括大脑)

我使用了scipy缩放,顺序为3,最近模式。调整图像大小后,有些图像可以,但有些图像不行。您可以在上面的第一张和第二张图片中看到问题肿瘤区域有许多在调整大小之前没有的孔。第三张图像似乎没有问题


我修改了缩放功能中的一些选项,但没有找到合适的解决方案。请帮我解决这个问题。谢谢。

我们希望在调整大小前后看到第一张图片,而不是两张不相关的图片。不需要整个图像,如果太大,只需裁剪绿色部分。调整大小是什么意思?从您的图像看,绿色遮罩似乎已重新采样,但未调整大小。@DrBwts它们是使用scipy package()的缩放功能调整大小的。我想我看起来是这样的,因为matplotlib的图形大小是固定的,无需调整大小..添加代码,这样我们就可以看到您需要的参数used@DrBwts我插入了密码。很抱歉,我们希望在调整大小之前和之后看到第一张图片,而不是两张不相关的图片。不需要整个图像,如果太大,只需裁剪绿色部分。调整大小是什么意思?从您的图像中,绿色遮罩似乎已重新采样,但未调整大小。@DRBWT使用scipy package()的缩放函数调整了大小。我想我看起来是这样的,因为matplotlib的图形大小是固定的,无需调整大小..添加代码,这样我们就可以看到您需要的参数used@DrBwts我插入了密码。很抱歉
def resize(img, shape, mode='nearest', orig_shape=None, order=3):
    """
    Wrapper for scipy.ndimage.zoom suited for MRI images.
    """

    if orig_shape == None: orig_shape = img.shape

    assert len(shape) == 3, "Can not have more than 3 dimensions"
    factors = (
        shape[0]/orig_shape[0],
        shape[1]/orig_shape[1], 
        shape[2]/orig_shape[2]
    )

    # Resize to the given shape
    return zoom(img, factors, mode=mode, order=order)

# original shape = (150, 512, 512)
# desired shape = (64, 192, 160)