docs: def filter_svd(data, lapack_driver='gesdd', modes=[]):
      """ Return the svd-filtered signal using only the selected mode
  
      Provide the indices of the modes desired
  
      """
      # Check input
      modes = np.asarray(modes,dtype=int)
      assert modes.ndim==1
      assert modes.size>=1, "No modes selected !"
  
      u, s, v = scplin.svd(data, full_matrices=False, compute_uv=True,
                           overwrite_a=False, check_finite=True,
                           lapack_driver=lapack_driver)
      indout = np.arange(0,s.size)
      indout = np.delete(indout, modes)
  
      data_in = np.dot(u[:,modes]*s[modes],v[modes,:])
      data_out = np.dot(u[:,indout]*s[indout],v[indout,:])
      return data_in, data_out