Ejemplo n.º 1
0
def get_scene_split(whichbenchmark):
    """
    Just to check how many valid fragments each scene has 
    """
    assert whichbenchmark in ['3DMatch', '3DLoMatch']
    folder = f'configs/benchmarks/{whichbenchmark}/*/gt.log'

    scene_files = sorted(glob.glob(folder))
    split = []
    count = 0
    for eachfile in scene_files:
        gt_pairs, gt_traj = read_trajectory(eachfile)
        split.append([count, count + len(gt_pairs)])
        count += len(gt_pairs)
    return split
Ejemplo n.º 2
0
def write_est_trajectory(gt_folder, exp_dir, tsfm_est):
    """
    Write the estimated trajectories 
    """
    scene_names=sorted(os.listdir(gt_folder))
    count=0
    for scene_name in scene_names:
        gt_pairs, gt_traj = read_trajectory(os.path.join(gt_folder,scene_name,'gt.log'))
        est_traj = []
        for i in range(len(gt_pairs)):
            est_traj.append(tsfm_est[count])
            count+=1

        # write the trajectory
        c_directory=os.path.join(exp_dir,scene_name)
        os.makedirs(c_directory)
        write_trajectory(np.array(est_traj),gt_pairs,os.path.join(c_directory,'est.log'))