给定偏离中心的位置,计算加权的2d直方图

时间:2018-09-04 19:59:04

标签: python python-3.x numpy histogram

我有多个2D numpy数组(明亮物体的图像数据,每个图像的尺寸为600x600),并且我使用skimage.feature.register_translation对每个单独的图像与堆叠的合成图像进行了互相关运算,以获得每个图像质心相对于合成图像质心的相对子像素偏移。现在,我想使用所有图像数据的相对移动来创建所有图像数据的加权2d直方图,以使所有图像准确居中。但是我对如何做到这一点感到困惑。到目前为止,我的代码如下(找到相应的移位之后):

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())

这并没有帮助我-我认为我的weights参数是错误的(我认为每个图像应该只有一个权重,而不是整个图像?),但是不知道是什么否则我会坚持的。这些图像来自不同的明亮光源,因此我不能仅假设它们的宽度相同。我该怎么做?

0 个答案:

没有答案