python中的中值组合适合图像

python中的中值组合适合图像,python,multidimensional-array,fits,Python,Multidimensional Array,Fits,我有三张二维numpy阵列形式的fits图像。我想对它们进行中值组合,也就是说,生成一个输出数组,其中每个像素是三个输入数组中相同像素的中值。使用imcombine可以在IRAF上轻松完成此操作。有没有一种方法可以在Python上执行此操作,而不必遍历整个数组并获取每个像素的中值?最简单的方法是: 堆叠二维阵列以形成三维阵列 使用通过轴=0沿堆叠尺寸计算中值 你基本上是在计算一个元素的中位数。下面是一个简单的例子,说明我会做什么: >>> import numpy >

我有三张二维numpy阵列形式的fits图像。我想对它们进行中值组合,也就是说,生成一个输出数组,其中每个像素是三个输入数组中相同像素的中值。使用imcombine可以在IRAF上轻松完成此操作。有没有一种方法可以在Python上执行此操作,而不必遍历整个数组并获取每个像素的中值?

最简单的方法是:

  • 堆叠二维阵列以形成三维阵列
  • 使用通过
    轴=0
    沿堆叠尺寸计算中值
你基本上是在计算一个元素的中位数。下面是一个简单的例子,说明我会做什么:

>>> import numpy
>>> a = numpy.array([[1,2,3],[4,5,6]])
>>> b = numpy.array([[3,4,5],[6,7,8]])
>>> c = numpy.array([[9,10,11],[12,1,2]])
>>> d = numpy.array([a,b,c])
>>> d
array([[[ 1,  2,  3],
        [ 4,  5,  6]],

       [[ 3,  4,  5],
        [ 6,  7,  8]],

       [[ 9, 10, 11],
        [12,  1,  2]]])
>>> d.shape
(3, 2, 3)

>>> numpy.median(d, axis=0)
array([[ 3.,  4.,  5.],
       [ 6.,  5.,  6.]])