def load_data(self): """ This function takes a source and then looks at its type to find the function to get that data :param source: A dict containing all the information to load the data :return: list of measurements """ if self.sensor_type == 'csv': self.meas_list = load_csv(self.file_name) elif self.sensor_type == 'sensor': self.meas_list = self.load_sensor() else: raise Exception('Source type was not recognized') self.start_time = self.meas_list[0].timestamp self.stop_time = self.meas_list[-1].timestamp for index, meas in enumerate(self.meas_list): meas.set_or_index(index) meas.set_sensor(self) meas.convert_to_numpy()
timing_list.append((time_diff, add_dict)) return timing_list def send_request(timer_list): if len(timer_list) > 0: json_data = timer_list.pop(0)[1] next_time = timer_list[0][0] timer = threading.Timer(next_time, send_request, [timer_list]) timer.start() r = requests.post(POST_url, json=json_data) if r.status_code == 200: print(f'OK: from sensor_id {json_data["device_id"]}') else: print(r.status_code) if __name__ == "__main__": csv_folder = 'E:/VOP_backup/2_personen/' csv_file = "shortened.csv" csv_data = load_csv(csv_folder + csv_file, to_numpy=False) timing_list = create_timing_list(csv_data, speed_up=1) timer = threading.Timer(0, send_request, [timing_list]) timer.start() print("exit")
microseconds=True, seconds=True) pros_imgs = pros.get_imgs() for img_index, img in enumerate(pros_imgs): comp.paste(img, (img_index * (320 + margin), 20)) d = ImageDraw.Draw(comp) d.text((0, 0), local_time, fill=(0, 0, 0)) img_name = f'{frame_folder}{sensor_id}_' + ('000000' + str(index))[-6:] + '.png' print(img_name) comp.save(img_name) csv_folder = "D:/VOP_scenarios/scenarios/2_personen/" csv_file = 'data.csv' frame_folder = csv_folder + 'pros_frames/' if not os.path.exists(frame_folder): os.mkdir(frame_folder) data = load_csv(csv_folder + csv_file, to_numpy=True, split=True, csv_tag=False) for key, value in data.items(): save_video_frames(int(key), value)
import time as time_module scenario_folder = 'D:/VOP_scenarios/scenarios/' cur_scenario = '1_persoon/' vol_scen_folder = scenario_folder + cur_scenario rgb_folder = vol_scen_folder + 'rgb_frames/' csv_file = vol_scen_folder + 'sensor_data.csv' frame_folder = vol_scen_folder + 'comp_frames/' if not os.path.exists(frame_folder): os.mkdir(frame_folder) measurements = load_csv(csv_file, to_numpy=True, split=False, csv_tag=False) video_start = datetime.combine(measurements[0].timestamp.date(), time(hour=12, minute=55, second=18)).timestamp() video_stop = datetime.combine(measurements[0].timestamp.date(), time(hour=13, minute=00, second=2)).timestamp() cur_time = video_start time_diff = video_stop - video_start time_jumps = 4229 time_jump = time_diff / time_jumps meas_index = 0
index = start_index - 1 min_diff = abs_diff(ref_time, meas_list[index].timestamp) min_index = index index += 1 while index < len(meas_list): diff = abs_diff(ref_time, meas_list[index].timestamp) if diff < min_diff: min_diff = diff min_index = index index += 1 else: break return min_index measurements = [load_csv(f'files/csv/{sensor_id}.csv', csv_tag=False) for sensor_id in sensor_ids] cur_indices = [0] * len(measurements) start_time = max([meas[0].timestamp for meas in measurements]) end_time = min([meas[-1].timestamp for meas in measurements]) time_diff = (end_time - start_time).seconds - 1 FPS = 20 amount_sensors = len(sensor_ids) amount_extra_webcams = 1 start_index = 424 frame_time_increase = timedelta(milliseconds=1000/FPS) cur_time = start_time + start_index * frame_time_increase