def clean_depthmap(arguments): """Clean depthmap by checking consistency with neighbors.""" data, reconstruction, neighbors, shot = arguments if data.clean_depthmap_exists(shot.id): logger.info("Using precomputed clean depthmap {}".format(shot.id)) return logger.info("Cleaning depthmap for image {}".format(shot.id)) dc = csfm.DepthmapCleaner() dc.set_same_depth_threshold(data.config['depthmap_same_depth_threshold']) dc.set_min_consistent_views(data.config['depthmap_min_consistent_views']) add_views_to_depth_cleaner(data, reconstruction, neighbors[shot.id], dc) depth = dc.clean() # Save and display results raw_depth, raw_plane, raw_score = data.load_raw_depthmap(shot.id) data.save_clean_depthmap(shot.id, depth, raw_plane, raw_score) if data.config['depthmap_save_debug_files']: image = data.undistorted_image_as_array(shot.id) image = scale_down_image(image, depth.shape[1], depth.shape[0]) ply = depthmap_to_ply(shot, depth, image) with open(data._depthmap_file(shot.id, 'clean.npz.ply'), 'w') as fout: fout.write(ply) if data.config.get('interactive'): import matplotlib.pyplot as plt plt.subplot(2, 2, 1) plt.imshow(raw_depth) plt.colorbar() plt.subplot(2, 2, 2) plt.imshow(depth) plt.colorbar() plt.show()
def clean_depthmap(data, graph, reconstruction, neighbors, shot, depths, planes, scores): if data.clean_depthmap_exists(shot.id): return data.load_clean_depthmap(shot.id)[0] dc = csfm.DepthmapCleaner() dc.set_same_depth_threshold(data.config['depthmap_same_depth_threshold']) dc.set_min_consistent_views(data.config['depthmap_min_consistent_views']) add_views_to_depth_cleaner(reconstruction, depths, neighbors[shot.id], dc) depth = dc.clean() # Save and display results data.save_clean_depthmap(shot.id, depth, planes[shot.id], scores[shot.id]) if data.config['depthmap_save_debug_files']: image = data.undistorted_image_as_array(shot.id) image = scale_down_image(image, depth.shape[1], depth.shape[0]) ply = depthmap_to_ply(shot, depth, image) with open(data._depthmap_file(shot.id, 'clean.npz.ply'), 'w') as fout: fout.write(ply) if data.config.get('interactive'): import matplotlib.pyplot as plt plt.subplot(2, 2, 1) plt.imshow(depths[shot.id]) plt.colorbar() plt.subplot(2, 2, 2) plt.imshow(depth) plt.colorbar() plt.show() return depth
def clean_depthmap(arguments): """Clean depthmap by checking consistency with neighbors.""" log.setup() data, neighbors, shot = arguments if data.clean_depthmap_exists(shot.id): logger.info("Using precomputed clean depthmap {}".format(shot.id)) return logger.info("Cleaning depthmap for image {}".format(shot.id)) dc = csfm.DepthmapCleaner() dc.set_same_depth_threshold(data.config['depthmap_same_depth_threshold']) dc.set_min_consistent_views(data.config['depthmap_min_consistent_views']) add_views_to_depth_cleaner(data, neighbors, dc) depth = dc.clean() # Save and display results raw_depth, raw_plane, raw_score, raw_nghbr, nghbrs = data.load_raw_depthmap( shot.id) data.save_clean_depthmap(shot.id, depth, raw_plane, raw_score) if data.config['depthmap_save_debug_files']: image = data.load_undistorted_image(shot.id) image = scale_down_image(image, depth.shape[1], depth.shape[0]) ply = depthmap_to_ply(shot, depth, image) with io.open_wt(data._depthmap_file(shot.id, 'clean.npz.ply')) as fout: fout.write(ply)
def clean_depthmap(arguments): """Clean depthmap by checking consistency with neighbors.""" log.setup() data, neighbors, shot, file_pathx, self_compute, self_path = arguments if data.clean_depthmap_exists(shot.id): logger.info("Using precomputed clean depthmap {}".format(shot.id)) return logger.info("Cleaning depthmap for image {}".format(shot.id)) dc = csfm.DepthmapCleaner() dc.set_same_depth_threshold(data.config['depthmap_same_depth_threshold']) dc.set_min_consistent_views(data.config['depthmap_min_consistent_views']) add_views_to_depth_cleaner(data, neighbors, dc, self_compute) depth = dc.clean() # Save and display results get_raw = None if self_compute: udata = opensfm_interface.UndistortedDataSet(data.path, data.config, 'undistorted') get_raw = udata.load_raw_depthmap(shot.id) else: get_raw = data.load_raw_depthmap(shot.id) print('here in for data load get raw depth map') raw_depth, raw_plane, raw_score, raw_nghbr, nghbrs = get_raw #raw_depth, raw_plane, raw_score, raw_nghbr, nghbrs = data.load_raw_depthmap(shot.id) data.save_clean_depthmap(shot.id, depth, raw_plane, raw_score) if data.config['depthmap_save_debug_files']: image = data.load_undistorted_image(shot.id) image = scale_down_image(image, depth.shape[1], depth.shape[0]) ply = depthmap_to_ply(shot, depth, image) with io.open_wt(data._depthmap_file(shot.id, 'clean.npz.ply')) as fout: fout.write(ply) if data.config.get('interactive'): import matplotlib.pyplot as plt plt.figure() plt.suptitle("Shot: " + shot.id) plt.subplot(2, 2, 1) plt.imshow(raw_depth) plt.colorbar() plt.subplot(2, 2, 2) plt.imshow(depth) plt.colorbar() plt.show()