Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算加权二维直方图,给出中心偏移量_Python_Python 3.x_Numpy_Histogram - Fatal编程技术网

Python 计算加权二维直方图,给出中心偏移量

Python 计算加权二维直方图,给出中心偏移量,python,python-3.x,numpy,histogram,Python,Python 3.x,Numpy,Histogram,我有多个2D numpy阵列(明亮物体的图像数据,每个大小为600x600),我使用skimage.feature.register\u translation对每个单独的图像与堆叠的合成图像进行互相关,以获得每个图像的质心相对于合成图像质心的相对亚像素偏移。我现在想创建一个加权的2d直方图,它包含我所有的个人图像数据,使用每个图像数据的相对位移,以便所有图像数据都精确居中。但我不知道该怎么做。我的代码如下(找到班次后): 但这并没有给我带来任何好处——我认为我的权重参数是错误的(我认为每个图像

我有多个2D numpy阵列(明亮物体的图像数据,每个大小为600x600),我使用
skimage.feature.register\u translation
对每个单独的图像与堆叠的合成图像进行互相关,以获得每个图像的质心相对于合成图像质心的相对亚像素偏移。我现在想创建一个加权的2d直方图,它包含我所有的个人图像数据,使用每个图像数据的相对位移,以便所有图像数据都精确居中。但我不知道该怎么做。我的代码如下(找到班次后):


但这并没有给我带来任何好处——我认为我的
权重
参数是错误的(我认为每个图像应该只有一个权重,而不是整个图像?),但我不知道我还能为它添加什么。这些图像来自不同的亮源,所以我不能假设它们的宽度都相同。我如何才能做到这一点?

您能尝试将
数据[0].ravel()作为权重吗?另外,请提供更多的
数据
数据
中的每个条目都是一个600x600数组,因此我可能需要在这里粘贴这些条目。但是,为什么数据[0]?这就是我第一张照片的数据。
import numpy as np

data = #individual image data; this is an array of multiple 2D (600x600) arrays

# Shifts in x and y (each are same length as 'data')
dx = np.array([0.346, 0.23, 0.113, ...])
dy = np.array([-0.416, -0.298, 0.275, ...])

# Bins
bins = np.arange(-300, 300, 1)

# Weighted histogram
h, xe, ye = np.histogram2d(dx.ravel(), dy.ravel(), bins=bins, weights=data.ravel())