code: def clasp(
      X,
      m,
      k_neighbours=3,
      score=_roc_auc_score,
      interpolate=True,
      exclusion_radius=0.05,
  ):
      """Calculate ClaSP for a time series and a window size.
  
      Parameters
      ----------
      X : array-like, shape = [n]
          A single univariate time series of length n
      m : int
          The window size to generate sliding windows
      k_neighbours : int
          The number of knn to use
      score : function
          Scoring method used
      interpolate:
          Interpolate the profile
      exclusion_radius : int
          Blind spot of the profile to the corners
  
      Returns
      -------
      Tuple (array-like of shape [n], array-like of shape [k_neighbours, n])
          The ClaSP and the knn_mask
      """
      knn_mask = _compute_distances_iterative(X, m, k_neighbours).T
  
      n_timepoints = knn_mask.shape[1]
      exclusion_radius = np.int64(n_timepoints * exclusion_radius)
  
      profile = _calc_profile(m, knn_mask, score, exclusion_radius)
  
      if interpolate is True:
          profile = (
              pd.Series(profile)
              .interpolate(limit_direction="both")
              .to_numpy()
          )
      return profile, knn_mask
  
file_path: sktime/sktime/transformations/series/_clasp_numba.py
imports: import numpy
  import pandas
  from sktime.transformations.panel.matrix_profile import _sliding_dot_products
  from sktime.utils.numba.njit import njit
label_desc: Use image node_id 8 for calling a global function with example usage: clasp(X, m, k_neighbours, score, interpolate, exclusion_radius) and returns: profile,  knn_mask