Exemple #1
0
    def compute_hugin_camera_rotations_processed(self):
        cfg = self.cfg

        if cfg.args.vidstab_prjn > -1:
            vidstab_dir = cfg.prjn_dir2_vidstab_prjn
        else:
            vidstab_dir = cfg.prjn_dir2_vidstab_orig

        if not utils.to_upd_camera_rotations_processed(vidstab_dir):
            return

        frames_dir = cfg.frames_input_processed
        imgs = sorted(os.listdir(frames_dir))
        self.canv_half_hfov = math.radians(self.rectilinear_pto.canv_half_hfov)
        max_horizont_tan = math.tan(self.canv_half_hfov)
        self.tan_pix = max_horizont_tan / (self.rectilinear_pto.canvas_w / 2)

        ##
        # f_motions = open(path.join(vidstab_dir, 'global_motions.trf'))
        # transforms_rel = utils.get_global_motions(f_motions)

        s = dt.datetime.now()
        transforms_rel = utils.parseTransformsTrf(
            path.join(vidstab_dir, 'transforms.trf'))
        e = dt.datetime.now() - s
        utils.print_time(e.total_seconds(), fps=True)
        ##

        transforms_abs = utils.convert_relative_transforms_to_absolute(
            transforms_rel)
        transforms_abs_filtered = utils.gauss_filter(cfg.fps, transforms_abs,
                                                     cfg.args.smoothing)

        self.pto_txt = utils.create_pto_txt_one_image(cfg.pto.filepath)

        tasks = []
        for i, t in enumerate(zip(transforms_abs_filtered, transforms_rel)):
            path_img = path.join(frames_dir, imgs[i])
            tasks.append((t[0], path_img, t[1]))

        utils.delete_files_in_dir(cfg.hugin_projects_processed)

        self.prjn_frames_total = len(tasks)
        self.prjn_frames_cnt = 0

        s = dt.datetime.now()
        with Pool(int(cfg.args.num_cpus)) as p:
            print('Rolling shutter, create Hugin pto files with camera moves.')
            results = [
                p.apply_async(self.camera_moves_processed_worker,
                              args=(t, ),
                              callback=self.prjn_worker_callback)
                for t in tasks
            ]
            for r in results:
                r.get()

        e = dt.datetime.now() - s
        utils.print_time(e.total_seconds(), fps=True)
Exemple #2
0
Fichier : cli.py Projet : nzcv/chtf
def mainloop(options, profile):
    log.info("Executing mainloop() ...")
    board_cache_dir_path = os.path.join(options["cache_dir_path"], "boards")

    if options["use_cache_on_first_run"]:
        log.info(
            "--use-cache flag enabled, not removing the "
            " contents of cache directory {}.".format(board_cache_dir_path)
        )
    else:
        try:
            utils.delete_files_in_dir(board_cache_dir_path)
        except FileNotFoundError:
            log.info(
                "FileNotFoundError while trying to remove the contents "
                "of cache directory {}.".format(board_cache_dir_path)
            )
        else:
            log.info("Successfully removed contents of cache directory {}.".format(board_cache_dir_path))

    dl_error_count = 0
    while True:
        if dl_error_count >= 10:
            print()
            error_wait_seconds = 60
            log.warning(
                "Failed to fetch data 10 times, waiting " "{} seconds before retrying ...".format(error_wait_seconds)
            )
            utils.sleep(error_wait_seconds)
            dl_error_count = 0
        utils.clear_terminal()
        log.info("Executing main() ...")
        try:
            main(options, profile)
        except core.DownloadError as err:
            dl_error_count += 1
            log.error("{}. Retrying ...".format(err))
            continue
        except core.ConfigError as err:
            log.critical("{}.".format(err))
            utils.exit(1)
        else:
            log.info("main() executed successfully.")
        if options["single_run"]:
            log.info("--single-run flag enabled, exiting ...")
            print()
            utils.exit(0)
        dl_error_count = 0
        utils.sleep(options["refresh_time"])
        utils.delete_files_in_dir(board_cache_dir_path)
 def cleanup(self):
     clean_dir = os.path.join(parent_dir(__file__), "examples")
     delete_files_in_dir(clean_dir, ["README"])
Exemple #4
0
	def try_to_remove(self):
		utils.delete_files_in_dir(self.dir_path)
		os.rmdir(self.dir_path)