code: def _get_first_mstump_profile(
      start,
      T_A,
      T_B,
      m,
      excl_zone,
      M_T,
      Σ_T,
      μ_Q,
      σ_Q,
      T_subseq_isconstant,
      Q_subseq_isconstant,
      include=None,
      discords=False,
  ):
      """
      Multi-dimensional wrapper to compute the multi-dimensional matrix profile
      and multi-dimensional matrix profile index for a given window within the
      times series or sequence that is denoted by the `start` index.
      Essentially, this is a convenience wrapper around `_multi_mass`. This is a
      convenience wrapper for the `_multi_distance_profile` function but does not
      return the multi-dimensional matrix profile subspace.
  
      Parameters
      ----------
      start : int
          The window index to calculate the first multi-dimensional matrix profile,
          multi-dimensional matrix profile indices, and multi-dimensional subspace.
  
      T_A : numpy.ndarray
          The time series or sequence for which the multi-dimensional matrix profile,
          multi-dimensional matrix profile indices, and multi-dimensional subspace will be
          returned
  
      T_B : numpy.ndarray
          The time series or sequence that contains your query subsequences
  
      m : int
          Window size
  
      excl_zone : int
          The half width for the exclusion zone relative to the `start`.
  
      M_T : numpy.ndarray
          Sliding mean for `T_A`
  
      Σ_T : numpy.ndarray
          Sliding standard deviation for `T_A`
  
      μ_Q : numpy.ndarray
          Sliding mean for `T_B`
  
      σ_Q : numpy.ndarray
          Sliding standard deviation for `T_B`
  
      T_subseq_isconstant : numpy.ndarray
          A boolean array that indicates whether a subsequence in `T_A` is constant (True)
  
      Q_subseq_isconstant : numpy.ndarray
          A boolean array that indicates whether a (query) subsequence in `T_B` is
          constant (True)
  
      include : numpy.ndarray, default None
          A list of (zero-based) indices corresponding to the dimensions in `T` that
          must be included in the constrained multidimensional motif search.
          For more information, see Section IV D in:
  
          `DOI: 10.1109/ICDM.2017.66 \
          <https://www.cs.ucr.edu/~eamonn/Motif_Discovery_ICDM.pdf>`__
  
      discords : bool, default False
          When set to `True`, this reverses the distance profile to favor discords rather
          than motifs. Note that indices in `include` are still maintained and respected.
  
      Returns
      -------
      P : numpy.ndarray
          Multi-dimensional matrix profile for the window with index equal to
          `start`
  
      I : numpy.ndarray
          Multi-dimensional matrix profile indices for the window with index
          equal to `start`
      """
      D = _multi_distance_profile(
          start,
          T_A,
          T_B,
          m,
          M_T,
          Σ_T,
          μ_Q,
          σ_Q,
          T_subseq_isconstant,
          Q_subseq_isconstant,
          include,
          discords,
          excl_zone,
      )
  
      d = T_A.shape[0]
      P = np.full(d, np.inf, dtype=np.float64)
      I = np.full(d, -1, dtype=np.int64)
  
      for i in range(d):
          min_index = np.argmin(D[i])
          I[i] = min_index
          P[i] = D[i, min_index]
          if np.isinf(P[i]):  # pragma nocover
              I[i] = -1
  
      return P, I
  
file_path: stumpy/stumpy/mstump.py
imports: from functools import lru_cache, partial
  import numpy
  from numba import njit, prange
  from scipy.stats import norm
  from .None import config, core
  from .maamp import maamp, maamp_mdl, maamp_multi_distance_profile, maamp_subspace
label_desc: Use image node_id 8 for calling a global function with example usage: _get_first_mstump_profile(start, T_A, T_B, m, excl_zone, M_T, Σ_T, μ_Q, σ_Q, T_subseq_isconstant, Q_subseq_isconstant, include, discords) and returns: P,  I