generic_filter1d#
- scipy.ndimage.generic_filter1d(input, function, filter_size, axis=-1, output=None, mode='reflect', cval=0.0, origin=0, extra_arguments=(), extra_keywords=None)[Quelle]#
Berechnet einen 1D-Filter entlang der angegebenen Achse.
generic_filter1diteriert über die Zeilen des Arrays und ruft die gegebene Funktion für jede Zeile auf. Die Argumente der Zeile sind die Eingabezeile und die Ausgabezeile. Die Eingabe- und Ausgabezeilen sind 1D-Double-Arrays. Die Eingabezeile wird entsprechend der Filtergröße und dem Ursprung erweitert. Die Ausgabezeile muss vor Ort mit dem Ergebnis modifiziert werden.- Parameter:
- inputarray_like
Das Eingabearray.
- function{callable, scipy.LowLevelCallable}
Funktion, die entlang der gegebenen Achse angewendet werden soll.
- filter_sizescalar
Länge des Filters.
- axisint, optional
Die Achse von input, entlang der berechnet werden soll. Standard ist -1.
- outputarray oder dtype, optional
Das Array, in das die Ausgabe platziert werden soll, oder der Datentyp des zurückgegebenen Arrays. Standardmäßig wird ein Array mit demselben Datentyp wie input erstellt.
- mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, optional
Der Parameter mode bestimmt, wie das Eingabearray über seine Grenzen hinaus erweitert wird. Standard ist ‘reflect’. Das Verhalten für jeden gültigen Wert ist wie folgt:
- ‘reflect’ (d c b a | a b c d | d c b a)
Die Eingabe wird erweitert, indem über den Rand des letzten Pixels gespiegelt wird. Dieser Modus wird auch manchmal als halb-Sample-symmetrisch bezeichnet.
- ‘constant’ (k k k k | a b c d | k k k k)
Die Eingabe wird erweitert, indem alle Werte außerhalb des Rands mit demselben konstanten Wert gefüllt werden, der durch den Parameter cval definiert ist.
- ‘nearest’ (a a a a | a b c d | d d d d)
Die Eingabe wird erweitert, indem das letzte Pixel wiederholt wird.
- ‘mirror’ (d c b | a b c d | c b a)
Die Eingabe wird erweitert, indem über die Mitte des letzten Pixels gespiegelt wird. Dieser Modus wird auch manchmal als ganz-Sample-symmetrisch bezeichnet.
- ‘wrap’ (a b c d | a b c d | a b c d)
Die Eingabe wird erweitert, indem zum gegenüberliegenden Rand umgebrochen wird.
Zur Konsistenz mit den Interpolationsfunktionen können auch die folgenden Modusnamen verwendet werden:
- ‘grid-mirror’
Dies ist ein Synonym für ‘reflect’.
- ‘grid-constant’
Dies ist ein Synonym für ‘constant’.
- ‘grid-wrap’
Dies ist ein Synonym für ‘wrap’.
- cvalskalar, optional
Wert, mit dem die Ränder der Eingabe gefüllt werden, wenn mode ‘constant’ ist. Standard ist 0.0.
- originGanzzahl, optional
Steuert die Platzierung des Filters auf den Pixeln des Eingabearrays. Ein Wert von 0 (Standard) zentriert den Filter über dem Pixel, wobei positive Werte den Filter nach links und negative nach rechts verschieben.
- extra_argumentssequence, optional
Sequenz zusätzlicher Positionsargumente, die an die übergebene Funktion übergeben werden.
- extra_keywordsdict, optional
Dict mit zusätzlichen Schlüsselwortargumenten, die an die übergebene Funktion übergeben werden.
- Rückgabe:
- generic_filter1dndarray
Gefiltertes Array. Hat die gleiche Form wie input.
Hinweise
Diese Funktion akzeptiert auch Low-Level-Callback-Funktionen mit einer der folgenden Signaturen, die in
scipy.LowLevelCallableverpackt sind.int function(double *input_line, npy_intp input_length, double *output_line, npy_intp output_length, void *user_data) int function(double *input_line, intptr_t input_length, double *output_line, intptr_t output_length, void *user_data)
Die aufrufende Funktion iteriert über die Zeilen der Eingabe- und Ausgabearrays und ruft die Callback-Funktion für jede Zeile auf. Die aktuelle Zeile wird gemäß den vom aufrufenden Funktion festgelegten Randbedingungen erweitert und das Ergebnis in das übergebene Array kopiert, das durch
input_lineübergeben wird. Die Länge der Eingabezeile (nach der Erweiterung) wird überinput_lengthübergeben. Die Callback-Funktion sollte den Filter anwenden und das Ergebnis in das übergebene Array speichern, das durchoutput_lineübergeben wird. Die Länge der Ausgabezeile wird überoutput_lengthübergeben.user_dataist der anscipy.LowLevelCallableübergebene Datenzeiger.Die Callback-Funktion muss einen ganzzahligen Fehlerstatus zurückgeben, der Null ist, wenn etwas schiefgelaufen ist, und eins sonst. Wenn ein Fehler auftritt, sollten Sie normalerweise den Python-Fehlerstatus mit einer aussagekräftigen Meldung setzen, bevor Sie zurückkehren, andernfalls wird eine Standardfehlermeldung vom aufrufenden Funktion gesetzt.
Zusätzlich werden einige andere Low-Level-Funktionszeigerspezifikationen akzeptiert, diese sind jedoch nur aus Kompatibilitätsgründen vorhanden und sollten nicht in neuem Code verwendet werden.