code: def _generate_datum_vectorization_data(
      datum, comb_indices, arg_names, expected_name, n_reps=2
  ):
      if expected_name is not None:
          has_expected = True
          if type(expected_name) is str:
              expected_name = [expected_name]
  
          expected_combs = []
          for expected_name_ in expected_name:
              expected = datum.get(expected_name_)
              expected_combs.append(
                  [expected, repeat_point(expected, n_reps=n_reps)]
              )
      else:
          has_expected = False
  
      args_combs = []
      for arg_name in arg_names:
          arg = datum.get(arg_name)
          args_combs.append(
              [arg, repeat_point(arg, n_reps=n_reps, expand=True)]
          )
  
      new_data = []
      for indices in comb_indices:
          new_datum = copy.copy(datum)
  
          if has_expected:
              rep = int(1 in indices)
              for expected_i, expected_name_ in enumerate(
                  expected_name
              ):
                  new_datum[expected_name_] = expected_combs[
                      expected_i
                  ][rep]
  
          for arg_i, (index, arg_name) in enumerate(
              zip(indices, arg_names)
          ):
              new_datum[arg_name] = args_combs[arg_i][index]
  
          new_data.append(new_datum)
  
      return new_data
  
file_path: geomstats/geomstats/test/vectorization.py
imports: import copy
  import inspect
  import itertools
  from geomstats.vectorization import repeat_point
label_desc: Use image node_id 3 for calling a global function with example usage: _generate_datum_vectorization_data(datum, comb_indices, arg_names, expected_name, n_reps) and returns: new_data