python - 用 Python 从 3D 到 2D

标签 python numpy scipy ipython

我想要这个代码:

chains3D = [[] for k in range(colors)]
        def addr(x,y,z): return x + (nx) * (y + (ny) * (z))
        for x in range(nx):
            for y in range(ny):
                for z in range(nz):
                    if (image[x,y,z] == background):
                        chains3D[1].append(addr(x,y,z))
                    else:
                        chains3D[0].append(addr(x,y,z))

像这样:

chains2D = [[] for k in range(colors)]
        def addr(x,y): return x + (nx) * y 
        for x in range(nx):
            for y in range(ny):
                    if (image[x,y,0] == background):
                        chains2D[1].append(addr(x,y))
                    else:
                        chains2D[0].append(addr(x,y))

好的,我已经解决了代码问题,但现在出现此错误:

IndexError                                Traceback (most recent call last)
<ipython-input-5-6a7d44bd72b7> in <module>()
213                         objectBoundaryChain = larBoundaryChain(partial_3,chains2D[1])
214                         b2cells = csrChainToCellList(objectBoundaryChain)
--> 215                         sup_cell_boundary = MKPOLS((V,[FV[f] for f in b2cells]))
216 
217                         # remove the (local) boundary (shared with the piece boundary)     from the quotient cell

/Users/Fabio/larpy/lar.pyc in MKPOLS(model)
101     """
102     V, FV = model
--> 103     pols = [MKPOL([[V[v] for v in f],[range(1,len(f)+1)], None]) for f in FV]
104     return pols
105 

IndexError: list index out of range

我不知道为什么 f 等于 b2cells 的最后一个数量,而不是第一个,但也许这不是产生此错误的真正问题

最佳答案

尚不完全清楚您正在尝试做什么以及什么不起作用,但看起来很奇怪的是您进行了转变:

return x + (nx) * (y + (ny) * (z))

进入:

return x + (nx) * (y + (ny))

不应该是:

return x + (nx) * y

相反?考虑到 nz 不会出现在您的 3D 版本中,ny 不应出现在 2D 版本中。

关于python - 用 Python 从 3D 到 2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301795/

相关文章:

python - Python多播接收器中的重复数据包

python - 如何退出帮助菜单?

python - 使用 boolean 向量提取 ndarray 的子数组

python - Python 中的图像配准和仿射变换

python - 如何将 CSV 数据读入 NumPy 中的记录数组?

python - 如何将地址模型链接到 View

python - kivy 圆形菜单

python - matplotlib 3d 线框图

python - Python 中的简单 Mandelbrot 集

python - Numpy 排序数组(稀疏)