bundles / scipy latest / scipy / signal / _signaltools / order_filter
function
scipy.signal._signaltools:order_filter
source: build-install/usr/lib/python3.14/site-packages/scipy/signal/_signaltools.py:1547
Signature
def order_filter(a, domain, rank)Summary
Perform an order filter on an N-D array.
Extended Summary
Perform an order filter on the array in. The domain argument acts as a mask centered over each pixel. The non-zero elements of domain are used to select elements surrounding each input pixel which are placed in a list. The list is sorted, and the output for that pixel is the element corresponding to rank in the sorted list.
Parameters
a: ndarrayThe N-dimensional input array.
domain: array_likeA mask array with the same number of dimensions as
a. Each dimension should have an odd number of elements.rank: intA non-negative integer which selects the element from the sorted list (0 corresponds to the smallest element, 1 is the next smallest element, etc.).
Returns
out: ndarrayThe results of the order filter in an array with the same shape as
a.
Examples
import numpy as np 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) 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]])
Aliases
scipy.signal.order_filter