in data/data.py [0:0]
def __getitem__(self, index):
data_curr = self.dataset[index]
i1 = int(index / self.dataset.num_shapes)
i2 = int(index % self.dataset.num_shapes)
idx_arr_x = self.idx_arr_arr[i1]
idx_arr_y = self.idx_arr_arr[i2]
triv_arr_x = self.triv_arr_arr[i1]
triv_arr_y = self.triv_arr_arr[i2]
i_mesh_x = random.randint(0, idx_arr_x.shape[0] - 1)
i_mesh_y = random.randint(0, idx_arr_y.shape[0] - 1)
data_new = dict()
data_new["X"] = dict()
data_new["Y"] = dict()
idx_x = idx_arr_x[i_mesh_x][0].astype(np.long) - 1
idx_y = idx_arr_y[i_mesh_y][0].astype(np.long) - 1
data_new["X"]["vert_full"] = data_curr["X"]["vert"]
data_new["Y"]["vert_full"] = data_curr["Y"]["vert"]
data_new["X"]["idx"] = idx_x
data_new["Y"]["idx"] = idx_y
data_new["X"]["vert"] = data_curr["X"]["vert"][idx_x, :]
data_new["Y"]["vert"] = data_curr["Y"]["vert"][idx_y, :]
data_new["X"]["triv"] = triv_arr_x[i_mesh_x][0].astype(np.long)
data_new["Y"]["triv"] = triv_arr_y[i_mesh_y][0].astype(np.long)
if "D" in data_curr["X"]:
idx_x = idx_x.squeeze()
idx_y = idx_y.squeeze()
data_new["X"]["D"] = data_curr["X"]["D"][:, idx_x][idx_x, :]
data_new["Y"]["D"] = data_curr["Y"]["D"][:, idx_y][idx_y, :]
if "sub" in data_curr["X"]:
data_new["X"]["sub"] = data_curr["X"]["sub"]
data_new["Y"]["sub"] = data_curr["Y"]["sub"]
data_new["X"]["idx"] = idx_x
data_new["Y"]["idx"] = idx_y
data_new["axis"] = self.axis
return data_new