在python中裁剪卷(2D切片的堆栈)

2024-05-09 02:59:55 发布

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

我有一组3D数据(MRI的体积).nii图像,形状为98×240×342(98:slices,240:W和342:H)。卷的大小各不相同。我想以一种方式对所有的卷进行中心裁剪,若宽度或高度小于256,那个维将用零填充。我知道这可以通过分别在每个切片上应用来实现,但是,我问是否有一个医学图像分析工具可以在一个体积中裁剪宽度和高度?在

谢谢


Tags: 工具数据图像宽度高度方式切片体积
2条回答

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

我找到了一个简单的方法center cropping in SO,它适用于N维数组。@损失取决于反应,这是一种巧妙的中间收成方式。填充部分,我加入了我自己。在

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]

相关问题 更多 >