def get_random_viewpoint(self, idx, vp_idx=None):
    if (vp_idx is None):
        viewpoint_id = np.random.randint(0, 24)
    else:
        viewpoint_id = vp_idx
    images = self.images[idx][viewpoint_id]
    viewpoints = srf.get_points_from_angles(self.distance, self.elevation, ((- viewpoint_id) * 15))
    return (images, torch.as_tensor(viewpoints), viewpoint_id)
def get_random_viewpoint(self, idx, vp_idx=None):
    if (vp_idx is None):
        viewpoint_id = np.random.randint(0, 24)
    else:
        viewpoint_id = vp_idx
    images = self.images[idx][viewpoint_id]
    viewpoints = srf.get_points_from_angles(self.distance, self.elevation, ((- viewpoint_id) * 15))
    return (images, torch.as_tensor(viewpoints), viewpoint_id)