in mapillary_vistas/evaluation/confusion_matrix.py [0:0]
def reduce_evaluation_to_evaluated_categories(labels, confusion_matrix, instance_specific_information):
"""
Delete rows/cols in the confusion matrix that are not used for evaluation.
Also unused instance specific information is removed.
"""
new_instance_specific_information = dict(instance_specific_information)
new_labels = []
eval_indices = []
for label in labels:
if not label['evaluate']:
eval_indices.append(False)
if label['name'] in new_instance_specific_information:
new_instance_specific_information.pop(label['name'])
continue
eval_indices.append(True)
new_labels.append(label)
eval_indices = np.array(eval_indices, dtype=np.bool)
reduced_confusion_matrix = confusion_matrix[eval_indices, :][:, eval_indices]
return (new_labels, reduced_confusion_matrix, new_instance_specific_information)