假设我有一个3D直方图或简单的形状为(X,Y,Z)的3D numpy数组
import numpy as np
array = np.random.random((100,100,100))
使用numpy或scipy最好的方法是获取满足球形条件的数组值的索引。
(index_x**2 + index_y**2 + index_z**2) <= radius**2
显然,在后一种情况下,数组的中心是 (0, 0, 0)。通常情况下,条件将会是
((index_x-center_x)**2 + (index_y-center_y)**2 +(index_z-center_z)**2) <= radius**2
问题很容易用Python循环解决,但我需要进行优化。
非常感谢您的帮助。