(self, idx)
| 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 |
nothing calls this directly
no test coverage detected