【问题标题】:Cropping a volume (stack of 2D slices) in python在 python 中裁剪一个卷(二维切片堆栈)
【发布时间】:2018-12-18 23:26:38
【问题描述】:

例如,我有一组 3D 数据(MRI 体积).nii 图像,形状为 98×240×342(98:切片、240:W 和 342:H)。卷的大小彼此不同。我想以某种方式对所有卷进行中心裁剪,如果宽度或高度小于 256,则该尺寸用零填充。我知道这可以通过单独应用于每个切片来完成,但是,我想问是否有医学图像分析工具可以在一个体积中裁剪宽度和高度?

谢谢

【问题讨论】:

标签: python image-processing vtk itk


【解决方案1】:

ITK,n 维库可以满足您的需求。它有padcrop 过滤器。如果不清楚如何使用,可以看看documentation

【讨论】:

  • 非常感谢您的帮助。
【解决方案2】:

我找到了center cropping in SO 的简单方法,它适用于 N 维数组。 @Losses Don 响应,这是一种巧妙的中心裁剪方式。填充部分,我添加了我自己。

def cropND(img, bounding):
    start = tuple(map(lambda a, da: a//2-da//2, img.shape, bounding))
    end = tuple(map(operator.add, start, bounding))
    slices = tuple(map(slice, start, end))
    return img[slices]

【讨论】:

    猜你喜欢
    • 2012-11-02
    • 2015-01-04
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多