scipy.signal.order_filter

scipy.signal.order_filter(a, domain, rank)[源代码]

在N-D阵列上执行过滤订单。

对中的阵列执行过滤订单。domain参数充当以每个像素为中心的掩码。域的非零元素用于选择放置在列表中的每个输入像素周围的元素。该列表被排序,并且该像素的输出是与排序列表中的排名相对应的元素。

参数
andarray

N维输入数组。

domainarray_like

具有与相同维数的遮罩数组 a 。每个维度应具有奇数个元素。

rank集成

从排序列表中选择元素的非负整数(0对应于最小的元素,1对应于下一个最小的元素,依此类推)。

退货
outndarray

将过滤排序的结果放在与形状相同的数组中 a

示例

>>> from scipy import signal
>>> x = np.arange(25).reshape(5, 5)
>>> domain = np.identity(3)
>>> x
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])
>>> signal.order_filter(x, domain, 0)
array([[  0.,   0.,   0.,   0.,   0.],
       [  0.,   0.,   1.,   2.,   0.],
       [  0.,   5.,   6.,   7.,   0.],
       [  0.,  10.,  11.,  12.,   0.],
       [  0.,   0.,   0.,   0.,   0.]])
>>> signal.order_filter(x, domain, 2)
array([[  6.,   7.,   8.,   9.,   4.],
       [ 11.,  12.,  13.,  14.,   9.],
       [ 16.,  17.,  18.,  19.,  14.],
       [ 21.,  22.,  23.,  24.,  19.],
       [ 20.,  21.,  22.,  23.,  24.]])