因此,我创建了一个空的3D数组,例如:
mask3d = np.zeros_like(MainData3d)
但是现在我不明白如何用保存在我的被屏蔽文件中的值填充这个mask3d数组。我试图做喜欢
mask3d[maskCoords]=1
但是这不起作用。当我重叠Maindata3d和mask3d时,遮罩的区域不可见。 任何帮助或想法,将不胜感激。
答案 0 :(得分:1)
我假设您的maskCoords是3d数组中包含我答案的3d坐标,因为就像您的问题中的注释一样,很难准确地说明您的意思。
这是方法。
mask3d = np.zeros((512, 512, 485))
# Create random coordinates
maskCoords = (np.random.random((200, 130, 131)) * 400).astype('int')
# Convert the coordinates to be converted by numpy.ravel_multi_index
maskCoords2 = np.hstack((maskCoords[:, :, 0].flatten()[:, None], maskCoords[:, :, 1].flatten()[:, None], maskCoords[:, :, 2].flatten()[:, None])).T
# Convert the coordinates into indices so we can access the locations in the original array
inds = np.ravel_multi_index(maskCoords2, [512, 512, 485])
# Set the array values at the locations of the indices to 1
mask3d.flat[inds] = 1
也许不是您要找的东西,但是我还是在尝试一些东西。