class_docstr: Volumetric TSDF Fusion of RGB-D Images.
      
docstr: compute the surface pointcloud from the voxel volume
docstr_tok: ["compute","the","surface","pointcloud","from","the","voxel","volume"]
code: def get_point_cloud(self, tsdf_thresh, weight_thresh):
      """
      compute the surface pointcloud from the voxel volume
      """
      tsdf_vol, weight_vol = self.get_volume()
  
      mask = np.logical_and(
          np.abs(tsdf_vol) < tsdf_thresh, weight_vol > weight_thresh
      )
  
      xv, yv, zv = np.meshgrid(
          range(self._vol_dim[0]),
          range(self._vol_dim[1]),
          range(self._vol_dim[2]),
          indexing="ij",
      )
      xv = xv[mask]
      yv = yv[mask]
      zv = zv[mask]
      pcd_ind = (
          np.concatenate(
              [xv.reshape(1, -1), yv.reshape(1, -1), zv.reshape(1, -1)],
              axis=0,
          )
          .astype(int)
          .T
      )
  
      pcd = pcd_ind.astype(float) * self._voxel_size + self._vol_origin
      pcd_ind = pcd_ind.astype(int)
  
      return pcd
  
file_path: torch-points3d/torch_points3d/datasets/registration/fusion.py
imports: import numpy
  from numba import njit, prange
  from skimage import measure
label_desc: Use image node_id 8 for calling the TSDFVolume obj's underlying member method code with example usage: obj.get_point_cloud(tsdf_thresh, weight_thresh) and returns: pcd