From 089594f72d987a9010c61cf3c063f88f0d712af3 Mon Sep 17 00:00:00 2001 From: Raif Olson Date: Wed, 27 Mar 2024 23:50:02 -0400 Subject: [PATCH 1/3] fix Detections.get_data_item() bug --- supervision/detection/utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 3302d5f3..762f06c7 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -845,8 +845,13 @@ 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 in range(len(index)) if index[i]] + else: + subset_data[key] = [value[i] for i in index] elif isinstance(index, int): subset_data[key] = [value[index]] else: From da4404e8750d9a69efd4fb0b33f06f4e341b5a55 Mon Sep 17 00:00:00 2001 From: Raif Olson Date: Thu, 28 Mar 2024 08:38:50 -0400 Subject: [PATCH 2/3] More pythonic version of change --- supervision/detection/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 762f06c7..25a2a37c 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -849,7 +849,7 @@ def get_data_item( 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 in range(len(index)) if index[i]] + 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): From 29ba24f89a76def71d178da22db54be123279437 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 12:39:11 +0000 Subject: [PATCH 3/3] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20auto=20?= =?UTF-8?q?format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 25a2a37c..b3928fdb 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -849,7 +849,9 @@ def get_data_item( 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] + 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):