-1

我有大小为 (57, 66, 40) 的 float64 类型的数据。我想用 0 替换所有小于 0.9 的值。

我尝试了没有循环的最简单方法:

img = nib.load('/home/anja/aw.nii')

data = img.get_fdata()

threshold_data = data[data<0.9] == 0

但是后来我得到了threshold_data 作为类型bool,大小为(55318,)。所以我失去了图像的尺寸。有人可以帮助我如何做到这一点,我仍然有我的尺寸图像(57、66、40),只需将 <0.9 的值替换为 0。

4

1 回答 1

1

根据 nipy 文档,该get_fdata()方法返回一个 NumPy 数组,所以最简单的方法就是:

img = nib.load('/home/anja/aw.nii')

data = img.get_fdata()

data[data<0.9] = 0

print(data.shape)
于 2020-01-15T14:59:57.957 回答