Skip to content

Commit c023f71

Browse files
Update class_navigation_manager.py
Modified apply_action_filter to make Hand Labelled and Smart Labelled filters inclusive rather than mutually exclusive.
1 parent daf11f1 commit c023f71

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

annotation_tool/controllers/classification/class_navigation_manager.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,11 @@ def show_all_views(self):
176176

177177
def apply_action_filter(self, index=None):
178178
"""
179-
[MODIFIED] Filter the tree based on 4 custom states for Classification.
179+
Filter the tree based on 4 custom states for Classification.
180180
0: Show All
181-
1: Hand Labelled (Confirmed, purely manual)
182-
2: Smart Labelled (Confirmed via smart annotation)
183-
3: No Labelled (Not confirmed at all)
181+
1: Hand Labelled (Has manual annotation)
182+
2: Smart Labelled (Has confirmed smart annotation)
183+
3: No Labelled (Neither hand nor smart confirmed)
184184
"""
185185
tree = self.ui.classification_ui.left_panel.tree
186186
combo = self.ui.classification_ui.left_panel.filter_combo
@@ -203,19 +203,23 @@ def apply_action_filter(self, index=None):
203203

204204
# 2. Is it Smart Labelled? (Has _confirmed flag in smart_annotations)
205205
smart_data = self.model.smart_annotations.get(path, {})
206-
# If manual annotation exists, we prioritize classifying it as Hand Labelled to avoid overlap
207-
is_smart_labelled = smart_data.get("_confirmed", False) and not is_hand_labelled
206+
# [MODIFIED] Removed the mutually exclusive condition "and not is_hand_labelled".
207+
# Now an item can be treated as both Hand Labelled and Smart Labelled simultaneously.
208+
is_smart_labelled = smart_data.get("_confirmed", False)
208209

209210
# 3. No Labelled (Neither hand nor smart confirmed)
210211
is_no_labelled = not is_hand_labelled and not is_smart_labelled
211212

212213
# 4. Apply hiding logic based on the selected filter index
213214
hidden = False
214215
if filter_idx == 1 and not is_hand_labelled:
216+
# Hide if "Hand Labelled" is selected but the item lacks hand labels
215217
hidden = True
216218
elif filter_idx == 2 and not is_smart_labelled:
219+
# Hide if "Smart Labelled" is selected but the item lacks smart labels
217220
hidden = True
218221
elif filter_idx == 3 and not is_no_labelled:
222+
# Hide if "No Labelled" is selected but the item has ANY label
219223
hidden = True
220224

221225
tree.setRowHidden(row, QModelIndex(), hidden)
@@ -263,4 +267,4 @@ def _nav_tree(self, step, level):
263267
new_row = curr.row() + step
264268
if 0 <= new_row < model.rowCount(parent):
265269
nxt = model.index(new_row, 0, parent)
266-
tree.setCurrentIndex(nxt); tree.scrollTo(nxt)
270+
tree.setCurrentIndex(nxt); tree.scrollTo(nxt)

0 commit comments

Comments
 (0)