code: def pick_manual(image_sequence, imu_gyro, num_sequences=2):
      
      assert num_sequences >= 2    
      # Create optical flow for user to select parts in
      logger.info("Calculating optical flow")
      flow = tracking.optical_flow_magnitude(image_sequence)
      
      # ) Prompt user for sync slices
      logger.debug("Prompting user for %d sequences" % num_sequences)
      imu_fake_timestamps = np.linspace(0,1,num=imu_gyro.shape[1])
      sync_sequences = [timesync.manual_sync_pick(flow, imu_fake_timestamps, imu_gyro) for i in range(num_sequences)]
  
      return sync_sequences
docs: Select N matching sequences and return data indices.
      
      Parameters
      ---------------
      image_sequence : list_like
              A list, or generator, of image data
      imu_gyro : (3, N) ndarray
              Gyroscope data (angular velocities)
      num_sequences : int
              The number of matching sequences to pick
      
      Returns
      ----------------
      sync_sequences : list
              List of (frame_pair, gyro_pair) tuples where each pair contains
              (a, b) which are indices of the (inclusive) range [a, b] that was chosen