|
@@ -45,5 +45,21 @@ class Project(ObservableDict):
|
|
|
self['labels'][identifier]['name'] = name
|
|
|
|
|
|
def remove_label(self, identifier):
|
|
|
- if identifier in self['labels']:
|
|
|
- del self['labels'][identifier]
|
|
|
+ # abort if identifier is unknown
|
|
|
+ if identifier not in self['labels']:
|
|
|
+ return
|
|
|
+
|
|
|
+ # remove label from data elements
|
|
|
+ remove = list()
|
|
|
+
|
|
|
+ for data in self['data']:
|
|
|
+ for pred in self['data'][data]['predictionResults']:
|
|
|
+ if 'label' in self['data'][data]['predictionResults'][pred]:
|
|
|
+ if self['data'][data]['predictionResults'][pred]['label'] == identifier:
|
|
|
+ remove.append((data, pred))
|
|
|
+
|
|
|
+ for t in remove:
|
|
|
+ del self['data'][t[0]]['predictionResults'][t[1]]
|
|
|
+
|
|
|
+ # remove label from list
|
|
|
+ del self['labels'][identifier]
|