MCPcopy Create free account
hub / github.com/OpenMeshLab/MeshXL / __getitem__

Method __getitem__

datasets/sft/base_dataset.py:51–78  ·  view source on GitHub ↗
(self, idx)

Source from the content-addressed store, hash-verified

49 return len(self.data) * self.num_repeat
50
51 def __getitem__(self, idx):
52 data = self._fetch_data(idx)
53 data['vertices'] = np.asarray(data['vertices'])
54 data['faces'] = np.asarray(data['faces'])
55
56 num_vertices = len(data['vertices'])
57 num_faces = len(data['faces'])
58
59 vertices = np.ones((self.max_vertices, 3)) * self.pad_id
60 faces = np.ones((self.max_triangles, 3)) * self.pad_id
61
62 if self.augment is True:
63 data['vertices'] = scale_mesh(data['vertices'])
64 data['vertices'] = normalize_mesh(data['vertices'])
65
66 vertices[:num_vertices] = data['vertices']
67 faces[:num_faces] = data['faces']
68
69 gt_vertices = vertices[faces.clip(0).astype(np.int64)] # nface x 3 x 3
70 gt_vertices[faces[:, 0] == self.pad_id] = float('nan')
71
72 data_dict = {}
73 data_dict['shape_idx'] = np.asarray(idx).astype(np.int64)
74 data_dict['vertices'] = np.asarray(vertices).astype(np.float32)
75 data_dict['faces'] = np.asarray(faces).astype(np.int64)
76 data_dict['gt_vertices'] = np.asarray(gt_vertices).astype(np.float32)
77
78 return data_dict

Callers

nothing calls this directly

Calls 3

_fetch_dataMethod · 0.95
scale_meshFunction · 0.85
normalize_meshFunction · 0.85

Tested by

no test coverage detected