延伸的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阵列的主要内容,如果未能解决你的问题,请参考以下文章

保存 3D 蒙版阵列

使用树来加速具有周期性边界条件的 3D 阵列上的最近邻搜索

javascript 用于生成FP阵列单行的片段

提高 3d 阵列的性能

中望3D 2021线框设计 “修剪/延伸”

超大 3D 阵列的内存管理