开发者

Numpy Index values for each element in 3D array

开发者 https://www.devze.com 2023-03-17 05:20 出处:网络
I have a 3D array create开发者_StackOverflow社区d using the numpy mgrid command so that each element has a certain value and the indexes retain the spatial information. For example, if one summed over

I have a 3D array create开发者_StackOverflow社区d using the numpy mgrid command so that each element has a certain value and the indexes retain the spatial information. For example, if one summed over the z-axis (3rd dimension) then the the resultant 2D array could be used in matplotlib with the function imshow() to obtain an image with different binned pixel values.

My question is: How can I obtain the index values for each element in this grid (a,b,c)?

I need to use the index values to calculate the relative angle of each point to the origin of the grid. (eg. theta=sin-1(sqrt(x^2+y^2)/sqrt(x^2+y^2+z^2))

Maybe this can be translated to another 3D grid where each element is the array [a,b,c]?


I'm not exactly clear on your meaning, but if you are looking for 3d arrays that contain the indices x, y, and z, then the following may suit your needs; assume your data is held in a 3D array called "abc":

import numpy as nm
x,y,z = nm.mgrid[[slice(dm) for dm in abc.shape]]
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号