File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change 9
9
from typing_extensions import Literal
10
10
11
11
from ..annotation_types .feature import FeatureSchema
12
- from ..annotation_types import ObjectAnnotation , Label , LabelList
12
+ from ..annotation_types import ObjectAnnotation , Label , LabelList , ClassificationAnnotation
13
13
14
14
15
15
def get_identifying_key (
@@ -63,6 +63,18 @@ def all_have_key(features: List[FeatureSchema]) -> Tuple[bool, bool]:
63
63
return all_schemas , all_names
64
64
65
65
66
+ def update_classification_answers (label : Label ):
67
+ """
68
+ This function is to update classifications' names to the answers. This prevents
69
+ metrics from being calculated only at the description of the classification, and
70
+ instead at the answer level.
71
+ """
72
+ for annotation in label .annotations :
73
+ if isinstance (annotation , ClassificationAnnotation ):
74
+ annotation .name = annotation .value .answer .name
75
+ return label
76
+
77
+
66
78
def get_label_pairs (labels_a : LabelList ,
67
79
labels_b : LabelList ,
68
80
match_on = "uid" ,
@@ -112,6 +124,8 @@ def get_label_pairs(labels_a: LabelList,
112
124
)
113
125
else :
114
126
continue
127
+ a , b = update_classification_answers (a ), update_classification_answers (
128
+ b )
115
129
pairs [key ].extend ([a , b ])
116
130
return pairs
117
131
You can’t perform that action at this time.
0 commit comments