if args.dataset is None: raise ValueError('Must specify dataset, e.g. redwood or scannet, etc.') if args.source is None: raise ValueError('Must specify input source, e.g. fgr or Super4PCS, etc.') home = env() dataset = args.dataset source = args.source pathlib.Path('%s/relative_pose/summary/%s/%s' % (home, dataset, source)).mkdir( exist_ok=True, parents=True) reader = Reader() PATH_SUMMARY = '%s/relative_pose/summary/{}/{}/{}.mat' % home for sceneid in reader.list_scenes(dataset): scanids = reader.get_scanids(dataset, sceneid) output_mat = PATH_SUMMARY.format(dataset, source, sceneid) if os.path.exists(output_mat): continue n = len(scanids) scanid_map = {str(scanid): i for i, scanid in enumerate(scanids)} T = np.zeros((n*4, n*4)) sigma = np.zeros((n, n)) aerr = np.zeros((n, n)) + 10000000.0 terr = np.zeros((n, n)) + 10000000.0 RLlist = reader.list_relative_poses(dataset, source, sceneid) if len(RLlist) < 4950: continue top = 0