【问题标题】:Median combining fits images in python中位数组合适合python中的图像
【发布时间】:2012-12-06 21:50:44
【问题描述】:

我有三个适合二维 numpy 数组形式的图像。我想对它们进行中值组合,即生成一个输出数组,其中每个像素是三个输入数组中相同像素的中值。这可以使用 imcombine 在 IRAF 上轻松完成。有没有办法在 Python 上做到这一点,而无需遍历整个数组并获取每个像素的中值?

【问题讨论】:

    标签: python multidimensional-array fits


    【解决方案1】:

    最简单的方法是:

    • 堆叠 2d 数组以形成 3d 数组
    • 使用numpy.median 传递axis=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.]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      相关资源
      最近更新 更多