code: def argrelmax(data, axis=0, order=1, mode="clip"):
      """
      Calculate the relative maxima of `data`.
  
      Parameters
      ----------
      data : ndarray
          Array in which to find the relative maxima.
      axis : int, optional
          Axis over which to select from `data`.  Default is 0.
      order : int, optional
          How many points on each side to use for the comparison
          to consider ``comparator(n, n+x)`` to be True.
  
      Returns
      -------
      extrema : tuple of ndarrays
          Indices of the maxima in arrays of integers.  ``extrema[k]`` is
          the array of indices of axis `k` of `data`.  Note that the
          return value is a tuple even when `data` is one-dimensional.
  
      See Also
      --------
      argrelextrema, argrelmin, find_peaks
  
      Notes
      -----
      This function uses `argrelextrema` with cp.greater as comparator. Therefore
      it  requires a strict inequality on both sides of a value to consider it a
      maximum. This means flat maxima (more than one sample wide) are not
      detected. In case of one-dimensional `data` `find_peaks` can be used to
      detect all local maxima, including flat ones.
  
      Examples
      --------
      >>> from cusignal import argrelmax
      >>> import cupy as cp
      >>> x = cp.array([2, 1, 2, 3, 2, 0, 1, 0])
      >>> argrelmax(x)
      (array([3, 6]),)
      >>> y = cp.array([[1, 2, 1, 2],
      ...               [2, 2, 0, 0],
      ...               [5, 3, 4, 4]])
      ...
      >>> argrelmax(y, axis=1)
      (array([0]), array([1]))
      """
      data = cp.asarray(data)
      return argrelextrema(data, cp.greater, axis, order, mode)
  
imports: import cupy
  from ._peak_finding_cuda import _peak_finding
label_desc: Use image node_id 3 for calling a global function with example usage: argrelmax(data, axis, order, mode) and returns: argrelextrema