def __getitem__(self, idx, vp_idx=None, vp_idx_b=None):
    (images_a, viewpoints_a, viewpoint_id_a) = self.get_random_viewpoint(idx, vp_idx)
    (images_b, viewpoints_b, viewpoint_id_b) = self.get_random_viewpoint(idx, vp_idx_b)
    return {'images_a': images_a, 'viewpoints_a': viewpoints_a, 'object_id_a': idx, 'viewpoint_id_a': viewpoint_id_a, 'images_b': images_b, 'viewpoints_b': viewpoints_b, 'object_id_b': idx, 'viewpoint_id_b': viewpoint_id_b}
def __getitem__(self, idx, vp_idx=None, vp_idx_b=None):
    (images_a, viewpoints_a, viewpoint_id_a) = self.get_random_viewpoint(idx, vp_idx)
    (images_b, viewpoints_b, viewpoint_id_b) = self.get_random_viewpoint(idx, vp_idx_b)
    return {'images_a': images_a, 'viewpoints_a': viewpoints_a, 'object_id_a': idx, 'viewpoint_id_a': viewpoint_id_a, 'images_b': images_b, 'viewpoints_b': viewpoints_b, 'object_id_b': idx, 'viewpoint_id_b': viewpoint_id_b}