从 4D 数组计算 3D 像素方差

Calculating 3D pixel variance from 4D array

假设有一些由 k 个 3D 图像 [x,y,z] 组成的 4D 数组 [x,y,z,k]。 有什么方法可以从 4D 阵列计算 3D 中每个像素的方差吗?

例如我有一个 10x10x10x5 数组,想要 return 一个 10x10x10 方差数组;计算沿 k

的每个像素(或体素,实际上)的方差

如果这没有意义,请告诉我,我会尝试更好地解释。

目前,我的代码是:

tensors = []
while error > threshold:
    for _ in range(5): #arbitrary
        new_tensor = foo(bar) #always returns array of same size
        tensors.append(new_tensor)

tensors = np.stack(tensors, axis = 3)
#tensors.shape

我想计算张量的方差数组

如果您使用的是 numpy,有一种简单的方法可以做到这一点:

variance = tensors.var(axis=3)