我有一个3D矩阵,在其中我已经确定了一个“感兴趣的区域” - 一个边界框 - 我想要索引。
我有每个轴的上限和下限:
([x:13 y:5 z:21] [x:27 y:29 z:35])
但我不太确定如何获得此框中值的所有索引。我相信我目前使用的“订单”是C常规,我应该保留。
使用python有一种简单的方法吗?
谢谢!
答案 0 :(得分:1)
您可以使用切片:
my3d[13:28, 5:30, 21:36]
请注意,上限是独占的,因此可能希望将它们加1。
答案 1 :(得分:1)
使用numpy.where
查找满足条件的数组的索引。 numpy.where
返回一个元组,第一个元素包含索引。
from __future__ import print_function
import numpy
a = numpy.arange(0, 100, 10) # 0, 10, 20, ...
ind = numpy.where(a>30)[0]
print(ind) # [4 5 6 7 8 9]