diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 3302d5f3..b3928fdb 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -845,8 +845,15 @@ def get_data_item( elif isinstance(value, list): if isinstance(index, slice): subset_data[key] = value[index] - elif isinstance(index, (list, np.ndarray)): + elif isinstance(index, list): subset_data[key] = [value[i] for i in index] + elif isinstance(index, np.ndarray): + if index.dtype == bool: + subset_data[key] = [ + value[i] for i, index_value in enumerate(index) if index_value + ] + else: + subset_data[key] = [value[i] for i in index] elif isinstance(index, int): subset_data[key] = [value[index]] else: