code: def run_simulation(
      self, prefix, run_settings, spectator_tr, tics=200
  ):
      original_settings = self.world.get_settings()
  
      self.init_scene(prefix, run_settings, spectator_tr)
  
      t_start = time.perf_counter()
      for _i in range(0, tics):
          self.world.tick()
          self.sensor_syncronization()
          self.save_snapshots()
      t_end = time.perf_counter()
  
      self.world.apply_settings(original_settings)
      self.save_snapshots_to_disk()
      self.clear_scene()
  
      return t_end - t_start
  
imports: import glob
  import os
  import sys
  import argparse
  import time
  import filecmp
  import shutil
  from queue import Queue
  from queue import Empty
  import numpy
  import carla
label_desc: Use image node_id 13 for calling the Scenario obj's underlying member method code with example usage: obj.run_simulation(prefix, run_settings, spectator_tr, tics) and returns: unknown