MCPcopy Create free account
hub / github.com/Robotics-STAR-Lab/H2-Mapping / extract_mesh

Method extract_mesh

mapping/src/mapping.py:440–460  ·  view source on GitHub ↗
(self, res=8, clean_mesh=False, map_states=None)

Source from the content-addressed store, hash-verified

438
439 @torch.no_grad()
440 def extract_mesh(self, res=8, clean_mesh=False, map_states=None):
441 sdf_network = self.decoder
442 sdf_network.eval()
443 vertexes = map_states["voxel_vertex_idx"]
444 voxels = map_states["voxels"]
445
446 index = vertexes.eq(-1).any(-1) # remove no smallest voxel
447 voxels = voxels[~index.cpu(), :]
448 vertexes = vertexes[~index.cpu(), :]
449 centres = (voxels[:, :3] + voxels[:, -1:] / 2) * self.voxel_size
450
451 encoder_states = {}
452 encoder_states["voxel_vertex_idx"] = vertexes.cuda()
453 encoder_states["voxel_center_xyz"] = centres.cuda()
454 encoder_states["sdf_priors"] = self.sdf_priors
455
456 mesh = self.mesher.create_mesh(
457 self.decoder, encoder_states, self.voxel_size, voxels,
458 frame_poses=None, depth_maps=None,
459 clean_mseh=clean_mesh, require_color=True, offset=-self.offset, res=res)
460 return mesh
461
462 @torch.no_grad()
463 def extract_voxels(self, map_states=None):

Callers 4

mapping_stepMethod · 0.95
runMethod · 0.95
save_debug_dataMethod · 0.95
vis_mesh.pyFile · 0.80

Calls 1

create_meshMethod · 0.80

Tested by

no test coverage detected