order_filter#
- scipy.signal.order_filter(a, domain, rank)[Quelle]#
Führt einen Order-Filter auf ein N-dimensionales Array aus.
Führt einen Order-Filter auf das Array a aus. Das Argument domain fungiert als Maske, die über jedes Pixel zentriert ist. Die Nicht-Null-Elemente von domain werden verwendet, um Elemente um jedes Eingabepixel herum auszuwählen, die in einer Liste platziert werden. Die Liste wird sortiert, und die Ausgabe für dieses Pixel ist das Element, das dem Rang in der sortierten Liste entspricht.
- Parameter:
- andarray
Das N-dimensionale Eingabearray.
- domainarray_like
Ein Maskenarray mit der gleichen Anzahl von Dimensionen wie a. Jede Dimension sollte eine ungerade Anzahl von Elementen haben.
- rankint
Eine nicht-negative Ganzzahl, die das Element aus der sortierten Liste auswählt (0 entspricht dem kleinsten Element, 1 ist das nächstkleinere Element usw.).
- Rückgabe:
- outndarray
Die Ergebnisse des Order-Filters in einem Array mit der gleichen Form wie a.
Beispiele
>>> 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) 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]])