我正在使用Python。我想知道是否有Python方式掩盖3d数组XYZ(体积图像)以执行诸如骨架化的分段分析。
我正在处理600x600x300的阵列,因此减少要分析的候选对象的数量是性能的关键。我尝试了np.array [mask],但是数组维数更改为1。诸如How to Correctly mask 3D Array with numpy之类的where方法一次将更改更改为一个值,但是骨架化需要分析要执行的邻居。>
编辑:这很简单,但是可以帮助您理解。是在一个卷内创建一个3d AOI。
# create array with random numbers
Array = np.random.random([10, 10,10])
# create a boolean mask of zeros
maskArr=np.zeros_like(Array, dtype=bool)
# set a few values in the mask to true
maskArr[1:8,1:5,1:3] = 1
# Try to analise the data with mask
process= morphology.skeletonize(Array[maskArr])
这是由于1维数组导致的错误:
ValueError:骨架化需要2D或3D图像作为输入,得到1D。