MCPcopy Create free account
hub / github.com/thygate/stable-diffusion-webui-depthmap-script / pcd_to_sparsetensor

Function pcd_to_sparsetensor

lib/test_utils.py:32–55  ·  view source on GitHub ↗
(pcd, mask_valid, voxel_size=0.01, num_points=100000)

Source from the content-addressed store, hash-verified

30 return pcd, ~mask_invalid
31
32def pcd_to_sparsetensor(pcd, mask_valid, voxel_size=0.01, num_points=100000):
33 pcd_valid = pcd[mask_valid]
34 block_ = pcd_valid
35 block = np.zeros_like(block_)
36 block[:, :3] = block_[:, :3]
37
38 pc_ = np.round(block_[:, :3] / voxel_size)
39 pc_ -= pc_.min(0, keepdims=1)
40 feat_ = block
41
42 # transfer point cloud to voxels
43 inds = sparse_quantize(pc_,
44 feat_,
45 return_index=True,
46 return_invs=False)
47 if len(inds) > num_points:
48 inds = np.random.choice(inds, num_points, replace=False)
49
50 pc = pc_[inds]
51 feat = feat_[inds]
52 lidar = SparseTensor(feat, pc)
53 feed_dict = [{'lidar': lidar}]
54 inputs = sparse_collate_fn(feed_dict)
55 return inputs
56
57def pcd_uv_to_sparsetensor(pcd, u_u0, v_v0, mask_valid, f= 500.0, voxel_size=0.01, mask_side=None, num_points=100000):
58 if mask_side is not None:

Callers 1

refine_shift_one_stepFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected