scipy.ndimage.

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)[source]#

沿著給定軸計算 1 維濾波器。

generic_filter1d 迭代陣列的每一行,並在每一行呼叫給定的函式。行的參數是輸入行和輸出行。輸入和輸出行是 1 維雙精度陣列。輸入行會根據濾波器大小和原點適當地擴展。輸出行必須就地修改以包含結果。

參數:
inputarray_like

輸入陣列。

function{callable, scipy.LowLevelCallable}

沿著給定軸套用的函式。

filter_sizescalar

濾波器的長度。

axisint, optional

要沿其計算的 input 軸。預設值為 -1。

outputarray or dtype, optional

要在其中放置輸出的陣列,或傳回陣列的 dtype。預設會建立與輸入相同 dtype 的陣列。

mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, optional

mode 參數決定輸入陣列如何在其邊界之外擴展。預設值為 ‘reflect’。每個有效值的行為如下

‘reflect’ (d c b a | a b c d | d c b a)

輸入會透過反射最後一個像素的邊緣來擴展。此模式有時也稱為半樣本對稱。

‘constant’ (k k k k | a b c d | k k k k)

輸入會透過以相同的常數值填滿邊緣之外的所有值來擴展,常數值由 cval 參數定義。

‘nearest’ (a a a a | a b c d | d d d d)

輸入會透過複製最後一個像素來擴展。

‘mirror’ (d c b | a b c d | c b a)

輸入會透過反射最後一個像素的中心來擴展。此模式有時也稱為全樣本對稱。

‘wrap’ (a b c d | a b c d | a b c d)

輸入會透過環繞到相反的邊緣來擴展。

為了與內插函式保持一致性,也可以使用以下模式名稱

‘grid-mirror’

這是 ‘reflect’ 的同義詞。

‘grid-constant’

這是 ‘constant’ 的同義詞。

‘grid-wrap’

這是 ‘wrap’ 的同義詞。

cvalscalar, optional

如果 mode 為 ‘constant’,則填滿輸入邊緣之外的值。預設值為 0.0。

originint, optional

控制濾波器在輸入陣列像素上的放置位置。值 0(預設值)將濾波器置於像素中心,正值將濾波器向左移動,負值向右移動。

extra_argumentssequence, optional

要傳遞給已傳遞函式的額外位置引數序列。

extra_keywordsdict, optional

要傳遞給已傳遞函式的額外關鍵字引數字典。

傳回值:
generic_filter1dndarray

已濾波陣列。具有與 input 相同的形狀。

註解

此函式也接受低階回呼函式,其具有下列其中一種簽章,並包裝在 scipy.LowLevelCallable

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)

呼叫函式會迭代輸入和輸出陣列的每一行,並在每一行呼叫回呼函式。目前的行會根據呼叫函式設定的邊界條件擴展,結果會複製到透過 input_line 傳遞的陣列中。輸入行的長度(在擴展之後)會透過 input_length 傳遞。回呼函式應套用濾波器,並將結果儲存在透過 output_line 傳遞的陣列中。輸出行的長度會透過 output_length 傳遞。user_data 是提供給 scipy.LowLevelCallable 的資料指標,依原樣傳遞。

回呼函式必須傳回整數錯誤狀態,如果發生錯誤則為零,否則為一。如果發生錯誤,您通常應在傳回之前使用資訊豐富的訊息設定 python 錯誤狀態,否則呼叫函式會設定預設錯誤訊息。

此外,也接受其他一些低階函式指標規格,但這些僅用於向後相容性,不應在新程式碼中使用。