scipy.signal.

gauss_spline#

scipy.signal.gauss_spline(x, n)[source]#

階數為 n 的 B 樣條基底函數的 Gaussian 近似。

參數:
xarray_like

節點向量

nint

樣條的階數。必須是非負數,即 n >= 0

返回:
resndarray

由零均值 Gaussian 函數近似的 B 樣條基底函數值。

註解

B 樣條基底函數可以用零均值 Gaussian 函數很好地近似,其標準差等於 \(\sigma=(n+1)/12\),適用於較大的 n

\[\frac{1}{\sqrt {2\pi\sigma^2}}exp(-\frac{x^2}{2\sigma})\]

參考文獻

[1]

Bouma H., Vilanova A., Bescos J.O., ter Haar Romeny B.M., Gerritsen F.A. (2007) Fast and Accurate Gaussian Derivatives Based on B-Splines. In: Sgallari F., Murli A., Paragios N. (eds) Scale Space and Variational Methods in Computer Vision. SSVM 2007. Lecture Notes in Computer Science, vol 4485. Springer, Berlin, Heidelberg

範例

我們可以計算由高斯分佈近似的 B 樣條基底函數

>>> import numpy as np
>>> from scipy.signal import gauss_spline
>>> knots = np.array([-1.0, 0.0, -1.0])
>>> gauss_spline(knots, 3)
array([0.15418033, 0.6909883, 0.15418033])  # may vary