code: def get_stroke_features(recording, strokeid1, strokeid2):
      
      stroke1 = recording[strokeid1]
      stroke2 = recording[strokeid2]
      assert isinstance(stroke1, list), "stroke1 is a %s" % type(stroke1)
      X_i = []
      for s in [stroke1, stroke2]:
          hw = HandwrittenData(json.dumps([s]))
          feat1 = features.ConstantPointCoordinates(strokes=1,
                                                    points_per_stroke=20,
                                                    fill_empty_with=0)
          feat2 = features.ReCurvature(strokes=1)
          feat3 = features.Ink()
          X_i += hw.feature_extraction([feat1, feat2, feat3])
      X_i += [get_strokes_distance(stroke1, stroke2)]  # Distance of strokes
      X_i += [get_time_distance(stroke1, stroke2)]  # Time in between
      X_i += [abs(strokeid2-strokeid1)]  # Strokes in between
      # X_i += [get_black_percentage()]
      return X_i
docs: Get the features used to decide if two strokes belong to the same symbol
      or not.
  
      Parameters
      ----------
      recording : list
          A list of strokes
      strokeid1 : int
      strokeid2 : int
  
      Returns
      -------
      list :
          A list of features which could be useful to decide if stroke1 and
          stroke2 belong to the same symbol.