Skip to main content
`Ctrl`+`K`

# scipy.signal.spline_filter

scipy.signal.spline_filter(Iin, lmbda=5.0)

  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:
    Iin array_like

      input data set

    lmbda float, optional

      spline smooghing fall-off value, default is 5.0.

  Returns:
    res ndarray

      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()