input_frame.get_data_as_image('depth'), input_frame.get_data_as_image('color'), raycast_frame.get_data_as_image('depth'), raycast_frame.get_data_as_image('color'), pcd, frustum)) self.idx += 1 self.is_done = self.is_done | (self.idx >= n_files) time.sleep(0.5) if __name__ == '__main__': parser = ConfigParser() parser.add( '--config', is_config_file=True, help='YAML config file path. Please refer to default_config.yml as a ' 'reference. It overrides the default config file, but will be ' 'overridden by other command line inputs.') parser.add( '--default_dataset', help='Default dataset is used when config file is not provided. ' 'Default dataset may be selected from the following options: ' '[lounge, bedroom, jack_jack]', default='lounge') parser.add('--path_npz', help='path to the npz file that stores voxel block grid.', default='output.npz') config = parser.get_config() if config.path_dataset == '': config = get_default_dataset(config)
config.depth_scale, config.depth_max) dt = time.time() - start print('Finished integrating {} frames in {} seconds'.format( n_files, dt)) print('Saving to {}...'.format(config.path_npz)) vbg.save(config.path_npz) print('Saving finished') return vbg if __name__ == '__main__': parser = ConfigParser() parser.add( '--config', is_config_file=True, help='YAML config file path. Please refer to default_config.yml as a ' 'reference. It overrides the default config file, but will be ' 'overridden by other command line inputs.') parser.add('--integrate_color', action='store_true') parser.add('--path_trajectory', help='path to the trajectory .log or .json file.') parser.add('--path_npz', help='path to the npz file that stores voxel block grid.', default='vbg.npz') config = parser.get_config() if config.path_dataset == '': config.path_dataset = get_default_testdata() config.path_trajectory = os.path.join(config.path_dataset, 'trajectory.log')
model.update_frame_pose(i, T_frame_to_model) model.integrate(input_frame, config.depth_scale, config.depth_max) model.synthesize_model_frame(raycast_frame, config.depth_scale, config.depth_min, config.depth_max, False) stop = time.time() print('{:04d}/{:04d} slam takes {:.4}s'.format(i, n_files, stop - start)) return model.voxel_grid, poses if __name__ == '__main__': parser = ConfigParser() parser.add( '--config', is_config_file=True, help='YAML config file path. Please refer to default_config.yml as a ' 'reference. It overrides the default config file, but will be ' 'overridden by other command line inputs.') config = parser.get_config() depth_file_names, color_file_names = load_image_file_names(config) intrinsic = load_intrinsic(config) volume, poses = slam(depth_file_names, color_file_names, intrinsic, config) save_poses('output.log', poses) save_poses('output.json', poses) mesh = extract_trianglemesh(volume, config, 'output.ply') o3d.visualization.draw([mesh])
model.update_frame_pose(i, T_frame_to_model) model.integrate(input_frame, config.depth_scale, config.depth_max) model.synthesize_model_frame(raycast_frame, config.depth_scale, config.depth_min, config.depth_max, False) stop = time.time() print('{:04d}/{:04d} slam takes {:.4}s'.format(i, n_files, stop - start)) return model.voxel_grid, poses if __name__ == '__main__': parser = ConfigParser() parser.add( '--config', is_config_file=True, help='YAML config file path. Please refer to default_config.yml as a ' 'reference. It overrides the default config file, but will be ' 'overridden by other command line inputs.') parser.add('--path_npz', help='path to the npz file that stores voxel block grid.', default='output.npz') config = parser.get_config() depth_file_names, color_file_names = load_rgbd_file_names(config) intrinsic = load_intrinsic(config) if not os.path.exists(config.path_npz): volume, poses = slam(depth_file_names, color_file_names, intrinsic, config) print('Saving to {}...'.format(config.path_npz)) volume.save(config.path_npz)