code: def walk_regularity_symmetry(self, data_frame):
          
          
          def _symmetry(v):
              maxtab, _ = peakdet(v, self.delta)
              return maxtab[1][1], maxtab[2][1]
  
          step_regularity_x, stride_regularity_x = _symmetry(autocorrelation(data_frame.x))
          step_regularity_y, stride_regularity_y = _symmetry(autocorrelation(data_frame.y))
          step_regularity_z, stride_regularity_z = _symmetry(autocorrelation(data_frame.z))
  
          symmetry_x = step_regularity_x - stride_regularity_x
          symmetry_y = step_regularity_y - stride_regularity_y
          symmetry_z = step_regularity_z - stride_regularity_z
  
          step_regularity = np.array([step_regularity_x, step_regularity_y, step_regularity_z])
          stride_regularity = np.array([stride_regularity_x, stride_regularity_y, stride_regularity_z])
          walk_symmetry = np.array([symmetry_x, symmetry_y, symmetry_z])
  
          return step_regularity, stride_regularity, walk_symmetry
docs: This method extracts the step and stride regularity and also walk symmetry.
  
              :param data_frame: The data frame. It should have x, y, and z columns.
              :type data_frame: pandas.DataFrame
              :return step_regularity: Regularity of steps on [x, y, z] coordinates, defined as the consistency of the step-to-step pattern.
              :rtype step_regularity: numpy.ndarray
              :return stride_regularity: Regularity of stride on [x, y, z] coordinates, defined as the consistency of the stride-to-stride pattern.
              :rtype stride_regularity: numpy.ndarray
              :return walk_symmetry: Symmetry of walk on [x, y, z] coordinates, defined as the difference between step and stride regularity.
              :rtype walk_symmetry: numpy.ndarray