Python-Median-Filter für 1D-numpy array
Ich habe eine numpy.array
mit einer dimension dim_array
. Ich freue mich, um zu erhalten ein median-filter wie scipy.signal.medfilt(data, window_len)
.
Diese in der Tat nicht die Arbeit mit numpy.array
werden kann, weil die dimension (dim_array, 1)
und nicht (dim_array, )
.
So erhalten solche filter?
Nächsten, noch eine Frage, wie bekomme ich andere filter, D. H., min, max, Mittelwert?
Vielleicht möchten Sie einfach nur Umformen/glätten Ihre (N,1) - array (N,).
Also vielleicht habe ich zu tun:
Besser
Also vielleicht habe ich zu tun:
data = np.reshape(data, len(data))
Besser
data.flatten(order='C')
; diese Arbeit! Danke @John Zwinck. Jetzt für die zweite Frage, wie bekomme ich diese anderen Filter?InformationsquelleAutor l.l. | 2017-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf
post
, wir erstellen könnte Schiebefenster zu bekommen2D
array von solchen windows festgelegt wird, wie Zeilen in es. Diese windows würde nur den Blick in diedata
array, so dass kein memory-Verbrauch und damit wäre ziemlich effizient. Dann würden wir Sie einfach verwenden Sie dieseufuncs
entlang jeder Zeileaxis=1
.So, zum Beispiel
sliding-
median` konnte berechnet werden, wie soFür die anderen
ufuncs
verwenden Sie einfach den jeweiligenufunc
Namen gibt :np.min
,np.max
&np.mean
. Bitte beachten Sie hier gemeint ist, zu geben, eine generische Lösung zu verwendenufunc
unterstützte Funktionen.Für die beste Leistung, muss man immer noch schauen Sie in spezifischen Funktionen, die eingebaut sind für diese Zwecke. Für die vier geforderten Funktionen, haben wir die gelieferten, wie so
Median :
scipy.signal.medfilt
.Max :
scipy.ndimage.Filter.maximum_filter1d
.Min :
scipy.ndimage.Filter.minimum_filter1d
.Bedeuten :
scipy.ndimage.Filter.uniform_filter1d
Nochmals vielen Dank @Divakar
InformationsquelleAutor Divakar