Python 将3d数组追加到4d数组中,第四维为3d数组的个数

Python 将3d数组追加到4d数组中,第四维为3d数组的个数,python,arrays,image-processing,numpy,Python,Arrays,Image Processing,Numpy,在MRI图像分析的过程中,我想“屏蔽”一个时间序列图像作为预处理的一部分。时间序列图像是4D(第四维是拍摄图像的时间-x、y、z、t)。由于我的遮罩是一个3D阵列(x、y、z),我想为所有时间序列图像复制3D,这样我就可以遮罩4D阵列,而不会出现任何关于不同大小的问题numpy.ma无法播放我想播放的内容,我总是会遇到大小差异的错误。那么,将3d阵列复制到4d阵列是否有效?你认为我可以不这样做而执行另一种有效的方法吗 如果没有更多细节,很难回答你的问题。但听起来你正面临这样一个问题: >&

在MRI图像分析的过程中,我想“屏蔽”一个时间序列图像作为预处理的一部分。时间序列图像是4D(第四维是拍摄图像的时间-x、y、z、t)。由于我的遮罩是一个3D阵列(x、y、z),我想为所有时间序列图像复制3D,这样我就可以遮罩4D阵列,而不会出现任何关于不同大小的问题
numpy.ma
无法播放我想播放的内容,我总是会遇到大小差异的错误。那么,将3d阵列复制到4d阵列是否有效?你认为我可以不这样做而执行另一种有效的方法吗

如果没有更多细节,很难回答你的问题。但听起来你正面临这样一个问题:

>>> a = numpy.arange(2 * 3 * 4 * 5).reshape(2, 3, 4, 5)
>>> mask = a[0,...] > 29
>>> numpy.ma.MaskedArray(a, mask)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/
                 Versions/2.7/lib/python2.7/site-packages/numpy/ma/core.py", 
                 line 2706, in __new__
    raise MaskError, msg % (nd, nm)
numpy.ma.core.MaskError: Mask and data not compatible: data size is 120, 
                         mask size is 60.

你能给出一个输入和输出示例吗?这将有助于(我们中的一些人)回答你的问题。
>>> numpy.ma.MaskedArray(a, numpy.concatenate([mask] * reps, axis=0))
masked_array(data =
 [[[[0 1 2 3 4]
   [5 6 7 8 9]
   [10 11 12 13 14]
   [15 16 17 18 19]]

  [[20 21 22 23 24]
   [25 26 27 28 29]
   [-- -- -- -- --]
   [-- -- -- -- --]]

  [[-- -- -- -- --]
   [-- -- -- -- --]
   [-- -- -- -- --]
   [-- -- -- -- --]]]


 [[[60 61 62 63 64]
   [65 66 67 68 69]
   [70 71 72 73 74]
   [75 76 77 78 79]]

  [[80 81 82 83 84]
   [85 86 87 88 89]
   [-- -- -- -- --]
   [-- -- -- -- --]]

  [[-- -- -- -- --]
   [-- -- -- -- --]
   [-- -- -- -- --]
   [-- -- -- -- --]]]],
             mask =
 [[[[False False False False False]
   [False False False False False]
   [False False False False False]
   [False False False False False]]

  [[False False False False False]
   [False False False False False]
   [ True  True  True  True  True]
   [ True  True  True  True  True]]

  [[ True  True  True  True  True]
   [ True  True  True  True  True]
   [ True  True  True  True  True]
   [ True  True  True  True  True]]]


 [[[False False False False False]
   [False False False False False]
   [False False False False False]
   [False False False False False]]

  [[False False False False False]
   [False False False False False]
   [ True  True  True  True  True]
   [ True  True  True  True  True]]

  [[ True  True  True  True  True]
   [ True  True  True  True  True]
   [ True  True  True  True  True]
   [ True  True  True  True  True]]]],
       fill_value = 999999)