def test_inf_coordinates_save_pointcloud(): # create the tensor to save height, width = 10, 8 xyz_save = torch.rand(height, width, 3) # add nans or infinite values # point data (inf, inf, inf) skipped xyz_save[0, 0, :] = float('inf') # point data (inf, number, number) counted xyz_save[0, 1, 0] = float('inf') # point data (inf, inf, number) counted xyz_save[1, 0, :-1] = float('inf') # save to file filename = "pointcloud.ply" kornia.save_pointcloud_ply(filename, xyz_save) # same as xyz_save but with dropping the first point xyz_correct = xyz_save.reshape(-1, 3)[1:, :] # load file xyz_load = kornia.load_pointcloud_ply(filename) assert_close(xyz_correct, xyz_load) if os.path.exists(filename): os.remove(filename)
def test_save_pointcloud(self): height, width = 10, 8 xyz_save = torch.rand(height, width, 3) # save to file filename = "pointcloud.ply" kornia.save_pointcloud_ply(filename, xyz_save) # load file xyz_load = kornia.load_pointcloud_ply(filename) assert_allclose(xyz_save.reshape(-1, 3), xyz_load) # remove the temporal file if os.path.exists(filename): os.remove(filename)