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 bottom = 0 for mat in reader.list_relative_poses(dataset, source, sceneid): s = sio.loadmat(mat) src, tgt = mat.split('/')[-1].split('.')[0].split('_')[:2] sid = scanid_map[src] tid = scanid_map[tgt] Tij = s['Tij'] if sid > tid: tmp = sid; sid = tid; tid = tmp Tij = inverse(Tij) assert sid < tid