延伸的3D阵列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了延伸的3D阵列相关的知识,希望对你有一定的参考价值。
我具有形状200,130,131(X,Y,Z)的三维阵列。这基本上是掩盖文件。可以说,它被称为“maskCoords”。我想这个范围扩大到512 * 512 * 485(X,Y,Z)我的原始数据的形状。但保持不变的面具和填充指数的其余为零。
所以,我创建了一个空的3D阵列,如:
mask3d = np.zeros_like(MainData3d)
但现在我无法理解如何填充保存在我的蒙面文件中的值这个mask3d阵列。我试图做类似
mask3d[maskCoords]=1
但这并不work.When我重叠Maindata3d和mask3d蒙版区域是不可见的。任何帮助或想法,将不胜感激。
答案
我假设你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
也许不是你要找的内容,但我反正想的东西。
以上是关于延伸的3D阵列的主要内容,如果未能解决你的问题,请参考以下文章