code: def find_peaks_indexes(arr, window_width=5, threshold=0.0, fpeak=0):
      
  
      _check_window_width(window_width)
  
      if (fpeak<0 or fpeak + 1 >= window_width):
          raise ValueError('fpeak must be in the range 0- window_width - 2')
  
      kernel_peak = kernel_peak_function(threshold, fpeak)
      out = generic_filter(arr, kernel_peak, window_width, mode="reflect")
      result, =  numpy.nonzero(out)
  
      return filter_array_margins(arr, result, window_width)
docs: Find indexes of peaks in a 1d array.
  
      Note that window_width must be an odd number. The function imposes that the
      fluxes in the window_width /2 points to the left (and right) of the peak
      decrease monotonously as one moves away from the peak, except that
      it allows fpeak constant values around the peak.
  
      Parameters
      ----------
      arr : 1d numpy array
          Input 1D spectrum.
      window_width : int
          Width of the window where the peak must be found. This number must be
          odd.
      threshold : float
          Minimum signal in the peak (optional).
      fpeak: int
          Number of equal values around the peak
  
      Returns
      -------
      ipeaks : 1d numpy array (int)
          Indices of the input array arr in which the peaks have been found.