diff --git a/tests/test_11k_RS.py b/tests/test_11k_RS.py new file mode 100644 index 0000000000000000000000000000000000000000..b0d0d7a797f667e82163337301c355d28872b601 --- /dev/null +++ b/tests/test_11k_RS.py @@ -0,0 +1,88 @@ +# # SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# # +# # SPDX-License-Identifier: GPL-3.0-or-later + +# """Tests for Extended TBX11K simplified dataset.""" + +# import pytest + + +# def test_protocol_consistency(): +# from ptbench.data.tbx11k_simplified_RS import dataset + +# # Default protocol +# subset = dataset.subsets("default") +# assert len(subset) == 3 + +# assert "train" in subset +# assert len(subset["train"]) == 2767 + +# assert "validation" in subset +# assert len(subset["validation"]) == 706 + +# assert "test" in subset +# assert len(subset["test"]) == 957 +# for s in subset["test"]: +# assert s.key.startswith("images/") + +# # Check labels +# for s in subset["train"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["validation"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["test"]: +# assert s.label in [0.0, 1.0] + +# # Cross-validation fold 0-9 +# for f in range(10): +# subset = dataset.subsets("fold_" + str(f)) +# assert len(subset) == 3 + +# assert "train" in subset +# assert len(subset["train"]) == 3177 +# for s in subset["train"]: +# assert s.key.startswith("images/") + +# assert "validation" in subset +# assert len(subset["validation"]) == 810 +# for s in subset["validation"]: +# assert s.key.startswith("images/") + +# assert "test" in subset +# assert len(subset["test"]) == 443 +# for s in subset["test"]: +# assert s.key.startswith("images/") + +# # Check labels +# for s in subset["train"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["validation"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["test"]: +# assert s.label in [0.0, 1.0] + + +# @pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified") +# def test_loading(): +# from ptbench.data.tbx11k_simplified_RS import dataset + +# def _check_sample(s): +# data = s.data +# assert isinstance(data, dict) +# assert len(data) == 2 + +# assert "data" in data +# assert len(data["data"]) == 14 # Check radiological signs + +# assert "label" in data +# assert data["label"] in [0, 1] # Check labels + +# limit = 30 # use this to limit testing to first images only, else None + +# subset = dataset.subsets("default") +# for s in subset["train"][:limit]: +# _check_sample(s) diff --git a/tests/test_11k_v2.py b/tests/test_11k_v2.py index 48bc68233f5a9d03710d82510b4cf2b36eb88ac7..38d129a7ddb5f302998e42e0487e92738f419bcc 100644 --- a/tests/test_11k_v2.py +++ b/tests/test_11k_v2.py @@ -15,17 +15,17 @@ def test_protocol_consistency(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 2767 + assert len(subset["train"]) == 5241 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 706 + assert len(subset["validation"]) == 1335 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 957 + assert len(subset["test"]) == 1793 for s in subset["test"]: assert s.key.startswith("images/") @@ -45,17 +45,17 @@ def test_protocol_consistency(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 3177 + assert len(subset["train"]) == 6003 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 810 + assert len(subset["validation"]) == 1529 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 443 + assert len(subset["test"]) == 837 for s in subset["test"]: assert s.key.startswith("images/") @@ -78,17 +78,17 @@ def test_protocol_consistency_bbox(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 2767 + assert len(subset["train"]) == 5241 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 706 + assert len(subset["validation"]) == 1335 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 957 + assert len(subset["test"]) == 1793 for s in subset["test"]: assert s.key.startswith("images/") @@ -112,17 +112,17 @@ def test_protocol_consistency_bbox(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 3177 + assert len(subset["train"]) == 6003 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 810 + assert len(subset["validation"]) == 1529 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 443 + assert len(subset["test"]) == 837 for s in subset["test"]: assert s.key.startswith("images/") diff --git a/tests/test_11k_v2_RS.py b/tests/test_11k_v2_RS.py new file mode 100644 index 0000000000000000000000000000000000000000..9eb1bd1f0171a1f49688133c542ab59f4817ed12 --- /dev/null +++ b/tests/test_11k_v2_RS.py @@ -0,0 +1,88 @@ +# # SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# # +# # SPDX-License-Identifier: GPL-3.0-or-later + +# """Tests for Extended TBX11K simplified dataset.""" + +# import pytest + + +# def test_protocol_consistency(): +# from ptbench.data.tbx11k_simplified_v2_RS import dataset + +# # Default protocol +# subset = dataset.subsets("default") +# assert len(subset) == 3 + +# assert "train" in subset +# assert len(subset["train"]) == 5241 + +# assert "validation" in subset +# assert len(subset["validation"]) == 1335 + +# assert "test" in subset +# assert len(subset["test"]) == 1793 +# for s in subset["test"]: +# assert s.key.startswith("images/") + +# # Check labels +# for s in subset["train"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["validation"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["test"]: +# assert s.label in [0.0, 1.0] + +# # Cross-validation fold 0-9 +# for f in range(10): +# subset = dataset.subsets("fold_" + str(f)) +# assert len(subset) == 3 + +# assert "train" in subset +# assert len(subset["train"]) == 6003 +# for s in subset["train"]: +# assert s.key.startswith("images/") + +# assert "validation" in subset +# assert len(subset["validation"]) == 1529 +# for s in subset["validation"]: +# assert s.key.startswith("images/") + +# assert "test" in subset +# assert len(subset["test"]) == 837 +# for s in subset["test"]: +# assert s.key.startswith("images/") + +# # Check labels +# for s in subset["train"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["validation"]: +# assert s.label in [0.0, 1.0] + +# for s in subset["test"]: +# assert s.label in [0.0, 1.0] + + +# @pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified") +# def test_loading(): +# from ptbench.data.tbx11k_simplified_v2_RS import dataset + +# def _check_sample(s): +# data = s.data +# assert isinstance(data, dict) +# assert len(data) == 2 + +# assert "data" in data +# assert len(data["data"]) == 14 # Check radiological signs + +# assert "label" in data +# assert data["label"] in [0, 1] # Check labels + +# limit = 30 # use this to limit testing to first images only, else None + +# subset = dataset.subsets("default") +# for s in subset["train"][:limit]: +# _check_sample(s) diff --git a/tests/test_11k_v3.py b/tests/test_11k_v3.py index a81af2012ef625fe3ceaaf289d353794877ede15..b15c38cab75d24d21d4af8763f96675a1069ae85 100644 --- a/tests/test_11k_v3.py +++ b/tests/test_11k_v3.py @@ -15,29 +15,29 @@ def test_protocol_consistency(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 2767 + assert len(subset["train"]) == 5241 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 706 + assert len(subset["validation"]) == 1335 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 957 + assert len(subset["test"]) == 1793 for s in subset["test"]: assert s.key.startswith("images/") # Check labels for s in subset["train"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["validation"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["test"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] # Cross-validation fold 0-9 for f in range(10): @@ -45,29 +45,29 @@ def test_protocol_consistency(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 3177 + assert len(subset["train"]) == 6003 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 810 + assert len(subset["validation"]) == 1529 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 443 + assert len(subset["test"]) == 837 for s in subset["test"]: assert s.key.startswith("images/") # Check labels for s in subset["train"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["validation"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["test"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] def test_protocol_consistency_bbox(): @@ -78,29 +78,29 @@ def test_protocol_consistency_bbox(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 2767 + assert len(subset["train"]) == 5241 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 706 + assert len(subset["validation"]) == 1335 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 957 + assert len(subset["test"]) == 1793 for s in subset["test"]: assert s.key.startswith("images/") # Check labels for s in subset["train"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["validation"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["test"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] # Check bounding boxes for s in subset["train"]: @@ -112,29 +112,29 @@ def test_protocol_consistency_bbox(): assert len(subset) == 3 assert "train" in subset - assert len(subset["train"]) == 3177 + assert len(subset["train"]) == 6003 for s in subset["train"]: assert s.key.startswith("images/") assert "validation" in subset - assert len(subset["validation"]) == 810 + assert len(subset["validation"]) == 1529 for s in subset["validation"]: assert s.key.startswith("images/") assert "test" in subset - assert len(subset["test"]) == 443 + assert len(subset["test"]) == 837 for s in subset["test"]: assert s.key.startswith("images/") # Check labels for s in subset["train"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["validation"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] for s in subset["test"]: - assert s.label in [0.0, 1.0] + assert s.label in [0.0, 1.0, 2.0, 3.0] # Check bounding boxes for s in subset["train"]: @@ -156,7 +156,7 @@ def test_loading(): assert data["data"].mode == "L" # Check colors assert "label" in data - assert data["label"] in [0, 1] # Check labels + assert data["label"] in [0, 1, 2, 3] # Check labels limit = 30 # use this to limit testing to first images only, else None @@ -180,7 +180,7 @@ def test_loading_bbox(): assert data["data"].mode == "L" # Check colors assert "label" in data - assert data["label"] in [0, 1] # Check labels + assert data["label"] in [0, 1, 2, 3] # Check labels assert "bboxes" in data assert data["bboxes"] == "none" or data["bboxes"][0].startswith( diff --git a/tests/test_11k_v3_RS.py b/tests/test_11k_v3_RS.py new file mode 100644 index 0000000000000000000000000000000000000000..302fbce962438546d41c3823e7f9c07f70711a88 --- /dev/null +++ b/tests/test_11k_v3_RS.py @@ -0,0 +1,88 @@ +# # SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# # +# # SPDX-License-Identifier: GPL-3.0-or-later + +# """Tests for Extended TBX11K simplified dataset.""" + +# import pytest + + +# def test_protocol_consistency(): +# from ptbench.data.tbx11k_simplified_v3_RS import dataset + +# # Default protocol +# subset = dataset.subsets("default") +# assert len(subset) == 3 + +# assert "train" in subset +# assert len(subset["train"]) == 5241 + +# assert "validation" in subset +# assert len(subset["validation"]) == 1335 + +# assert "test" in subset +# assert len(subset["test"]) == 1793 +# for s in subset["test"]: +# assert s.key.startswith("images/") + +# # Check labels +# for s in subset["train"]: +# assert s.label in [0.0, 1.0, 2.0, 3.0] + +# for s in subset["validation"]: +# assert s.label in [0.0, 1.0, 2.0, 3.0] + +# for s in subset["test"]: +# assert s.label in [0.0, 1.0, 2.0, 3.0] + +# # Cross-validation fold 0-9 +# for f in range(10): +# subset = dataset.subsets("fold_" + str(f)) +# assert len(subset) == 3 + +# assert "train" in subset +# assert len(subset["train"]) == 6003 +# for s in subset["train"]: +# assert s.key.startswith("images/") + +# assert "validation" in subset +# assert len(subset["validation"]) == 1529 +# for s in subset["validation"]: +# assert s.key.startswith("images/") + +# assert "test" in subset +# assert len(subset["test"]) == 837 +# for s in subset["test"]: +# assert s.key.startswith("images/") + +# # Check labels +# for s in subset["train"]: +# assert s.label in [0.0, 1.0, 2.0, 3.0] + +# for s in subset["validation"]: +# assert s.label in [0.0, 1.0, 2.0, 3.0] + +# for s in subset["test"]: +# assert s.label in [0.0, 1.0, 2.0, 3.0] + + +# @pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified") +# def test_loading(): +# from ptbench.data.tbx11k_simplified_v3_RS import dataset + +# def _check_sample(s): +# data = s.data +# assert isinstance(data, dict) +# assert len(data) == 2 + +# assert "data" in data +# assert len(data["data"]) == 14 # Check radiological signs + +# assert "label" in data +# assert data["label"] in [0, 1, 2, 3] # Check labels + +# limit = 30 # use this to limit testing to first images only, else None + +# subset = dataset.subsets("default") +# for s in subset["train"][:limit]: +# _check_sample(s)