在python中以物理单位生成阵列的装箱平均径向轮廓

时间:2018-08-06 04:39:28

标签: python numpy binning

我正在尝试从python中的给定256x256矩阵创建平均一维径向轮廓。我调查了从此矩阵创建的图像,该图像看起来如下:

enter image description here

由于它是一幅物理图像,所以整个物理盒子的大小为0.038秒差距,相当于每侧256个小网格。我有兴趣对此矩阵从中心到盒端的平均径向轮廓进行分析,我希望x轴对应于实际的物理单位,而不是网格单位。换句话说,我正在尝试生成如下配置文件:

enter image description here

在其他一些答案的帮助下,我到了这一点:

import numpy as np

def radial_profile(data, center):
    y, x = np.indices((data.shape))
    r = np.sqrt((x - center[0])**2 + (y - center[1])**2)
    r = r.astype(np.int)

    tbin = np.bincount(r.ravel(), data.ravel())
    nr = np.bincount(r.ravel())
    radialprofile = tbin / nr
    return radialprofile 



center, radi = (len(Y)/2, len(Y)/2), len(Y)/2 # Y is my 256x256 matrix corresponding to this image
rad = radial_profile(Y, center)

plt.plot(rad[radi:])
plt.show()

但是,它不起作用,非常感谢您的帮助。

0 个答案:

没有答案