]) run = 0 n_runs += 1 # if gap in subs or street times, restart run if tdelta_vid.seconds != 1 or (abs(tdelta_street.seconds - 1) >= frame_skip_tolerance): run = 0 # start new run if run == 0: run_start_t_street = t_street run_start_t_vid = t_vid # update prev time prev_t_street = t_street prev_t_vid = t_vid run += 1 logger.info(f"Found {n_runs} runs in {fn}") logger.info(f"Found {len(runs)} total runs in {len(all_sub_files)} files") logger.info(f"Converting to DataFrame and adding day/hour/dayofweek") # dataframe of segments with no major gaps runs_df = pd.DataFrame(runs, columns=[ "video", "camera", "start_t", "stop_t", "start_t_secs", "stop_t_secs", "start_t_street", "stop_t_street" ]) runs_df["day"] = pd.to_datetime(runs_df["start_t_street"]).dt.day runs_df["hour"] = pd.to_datetime(runs_df["start_t_street"]).dt.hour runs_df["dayofweek"] = pd.to_datetime(runs_df["start_t_street"]).dt.dayofweek runs_df.to_csv(os.path.join(vid_run_path), index=False)
from src.modules.utils.setup import setup, IndentLogger logger = IndentLogger(logging.getLogger(''), {}) # =========== Config File Loading ================ from src.modules.utils.config_loader import get_config conf, confp = get_config() # ======== Load Configuration Parameters ========= path = confp.dirs.subtitles out_dir = confp.dirs.output vid_run_path = confp.paths.video_runs # ================================================ setup("video_sampling") outpath = os.path.join(out_dir, "video_sample.csv") logger.info("Loading Data") vids = pd.read_csv(vid_run_path) #vids = pd.read_csv(vid_run_path) logger.info("Adding Columns") all_cams = vids["camera"].unique() logger.info(f"Found {len(all_cams)} cameras") n_missing = 0 sample = [] # for each camera: for camera in all_cams: