spline_filter — SciPy v1.15.3 Manual (original) (raw)

scipy.signal.

scipy.signal.spline_filter(Iin, lmbda=5.0)[source]#

Smoothing spline (cubic) filtering of a rank-2 array.

Filter an input data set, Iin, using a (cubic) smoothing spline of fall-off lmbda.

Parameters:

Iinarray_like

input data set

lmbdafloat, optional

spline smoothing fall-off value, default is 5.0.

Returns:

resndarray

filtered input data

Examples

We can filter an multi dimensional signal (ex: 2D image) using cubic B-spline filter:

import numpy as np from scipy.signal import spline_filter import matplotlib.pyplot as plt orig_img = np.eye(20) # create an image orig_img[10, :] = 1.0 sp_filter = spline_filter(orig_img, lmbda=0.1) f, ax = plt.subplots(1, 2, sharex=True) for ind, data in enumerate([[orig_img, "original image"], ... [sp_filter, "spline filter"]]): ... ax[ind].imshow(data[0], cmap='gray_r') ... ax[ind].set_title(data[1]) plt.tight_layout() plt.show()

../../_images/scipy-signal-spline_filter-1.png