code: def bellman_segmentation(self, x, states):
          
          peaks, prominences = get_signal_peaks_and_prominences(x)
          bellman_idx = BellmanKSegment(prominences, states)
          
          return peaks, prominences, bellman_idx
docs: Divide a univariate time-series, data_frame, into states contiguous segments, using Bellman k-segmentation algorithm on the peak prominences of the data.
          
              :param x: The time series to assess freeze of gait on. This could be x, y, z or mag_sum_acc.
              :type x: pandas.Series
              :param states: Number of contigous segments.
              :type states: int
              :return peaks: The peaks in our data_frame.
              :rtype peaks: list
              :return prominences: Peaks prominences.
              :rtype prominences: list
              :return bellman_idx: The indices of the segments.
              :rtype bellman_idx: list