成像:将超过特定阈值的值替换为 0
Imaging: Replaces values by 0 over specific threshold
我有 float64 类型的数据,其大小为 (57, 66, 40)。我想用 0 替换所有小于 0.9 的值。
我尝试了没有循环的最简单的方法:
img = nib.load('/home/anja/aw.nii')
data = img.get_fdata()
threshold_data = data[data<0.9] == 0
但后来我得到 threshold_data 作为大小为 (55318,) 的 bool 类型。所以我失去了图像的尺寸。
有人可以帮助我如何做到这一点,我仍然有尺寸 (57, 66, 40) 的图像,只需将其中的值 <0.9 替换为 0.
根据 nipy 文档,get_fdata()
方法 returns 一个 NumPy 数组,所以最简单的方法就是:
img = nib.load('/home/anja/aw.nii')
data = img.get_fdata()
data[data<0.9] = 0
print(data.shape)
我有 float64 类型的数据,其大小为 (57, 66, 40)。我想用 0 替换所有小于 0.9 的值。
我尝试了没有循环的最简单的方法:
img = nib.load('/home/anja/aw.nii')
data = img.get_fdata()
threshold_data = data[data<0.9] == 0
但后来我得到 threshold_data 作为大小为 (55318,) 的 bool 类型。所以我失去了图像的尺寸。 有人可以帮助我如何做到这一点,我仍然有尺寸 (57, 66, 40) 的图像,只需将其中的值 <0.9 替换为 0.
根据 nipy 文档,get_fdata()
方法 returns 一个 NumPy 数组,所以最简单的方法就是:
img = nib.load('/home/anja/aw.nii')
data = img.get_fdata()
data[data<0.9] = 0
print(data.shape)