Skip to content
Snippets Groups Projects
Commit 7991c719 authored by ogueler@idiap.ch's avatar ogueler@idiap.ch
Browse files

added tests for new datasets

parent 02604d70
No related branches found
No related tags found
2 merge requests!5Tbx11k,!4Moved code to lightning
...@@ -69,6 +69,75 @@ def test_protocol_consistency(): ...@@ -69,6 +69,75 @@ def test_protocol_consistency():
for s in subset["test"]: for s in subset["test"]:
assert s.label in [0.0, 1.0] assert s.label in [0.0, 1.0]
def test_protocol_consistency_bbox():
from ptbench.data.tbx11k_simplified import dataset_with_bboxes
# Default protocol
subset = dataset_with_bboxes.subsets("default")
assert len(subset) == 3
assert "train" in subset
assert len(subset["train"]) == 2767
for s in subset["train"]:
assert s.key.startswith("images/")
assert "validation" in subset
assert len(subset["validation"]) == 706
for s in subset["validation"]:
assert s.key.startswith("images/")
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]
# Check bounding boxes
for s in subset["train"]:
assert s.bboxes == "none" or s.bboxes[0].startswith("{'xmin':")
# Cross-validation fold 0-9
for f in range(10):
subset = dataset_with_bboxes.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]
# Check bounding boxes
for s in subset["train"]:
assert s.bboxes == "none" or s.bboxes[0].startswith("{'xmin':")
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified") @pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified")
def test_loading(): def test_loading():
...@@ -80,10 +149,9 @@ def test_loading(): ...@@ -80,10 +149,9 @@ def test_loading():
assert len(data) == 2 assert len(data) == 2
assert "data" in data assert "data" in data
assert data["data"].size in ( assert data["data"].size == (512, 512)
(512, 512)
) assert data["data"].mode == "L" # Check colors
assert data["data"].mode == "RGB" # Check colors
assert "label" in data assert "label" in data
assert data["label"] in [0, 1] # Check labels assert data["label"] in [0, 1] # Check labels
...@@ -94,9 +162,40 @@ def test_loading(): ...@@ -94,9 +162,40 @@ def test_loading():
for s in subset["train"][:limit]: for s in subset["train"][:limit]:
_check_sample(s) _check_sample(s)
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified")
def test_loading_bbox():
from ptbench.data.tbx11k_simplified import dataset_with_bboxes
def _check_sample(s):
data = s.data
assert isinstance(data, dict)
assert len(data) == 3
assert "data" in data
assert data["data"].size == (512, 512)
assert data["data"].mode == "L" # Check colors
assert "label" in data
assert data["label"] in [0, 1] # Check labels
assert "bboxes" in data
assert data["bboxes"] == "none" or data["bboxes"][0].startswith("{'xmin':")
limit = 30 # use this to limit testing to first images only, else None
subset = dataset_with_bboxes.subsets("default")
for s in subset["train"][:limit]:
_check_sample(s)
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified") @pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified")
def test_check(): def test_check():
from ptbench.data.tbx11k_simplified import dataset from ptbench.data.tbx11k_simplified import dataset
assert dataset.check() == 0 assert dataset.check() == 0
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified")
def test_check_bbox():
from ptbench.data.tbx11k_simplified import dataset_with_bboxes
assert dataset_with_bboxes.check() == 0
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Tests for TBX11K simplified dataset."""
import pytest
def test_protocol_consistency():
from ptbench.data.tbx11k_simplified_v2 import dataset
# Default protocol
subset = dataset.subsets("default")
assert len(subset) == 3
assert "train" in subset
assert len(subset["train"]) == 2767
for s in subset["train"]:
assert s.key.startswith("images/")
assert "validation" in subset
assert len(subset["validation"]) == 706
for s in subset["validation"]:
assert s.key.startswith("images/")
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]
def test_protocol_consistency_bbox():
from ptbench.data.tbx11k_simplified_v2 import dataset_with_bboxes
# Default protocol
subset = dataset_with_bboxes.subsets("default")
assert len(subset) == 3
assert "train" in subset
assert len(subset["train"]) == 2767
for s in subset["train"]:
assert s.key.startswith("images/")
assert "validation" in subset
assert len(subset["validation"]) == 706
for s in subset["validation"]:
assert s.key.startswith("images/")
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]
# Check bounding boxes
for s in subset["train"]:
assert s.bboxes == "none" or s.bboxes[0].startswith("{'xmin':")
# Cross-validation fold 0-9
for f in range(10):
subset = dataset_with_bboxes.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]
# Check bounding boxes
for s in subset["train"]:
assert s.bboxes == "none" or s.bboxes[0].startswith("{'xmin':")
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v2")
def test_loading():
from ptbench.data.tbx11k_simplified_v2 import dataset
def _check_sample(s):
data = s.data
assert isinstance(data, dict)
assert len(data) == 2
assert "data" in data
assert data["data"].size == (512, 512)
assert data["data"].mode == "L" # Check colors
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)
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v2")
def test_loading_bbox():
from ptbench.data.tbx11k_simplified_v2 import dataset_with_bboxes
def _check_sample(s):
data = s.data
assert isinstance(data, dict)
assert len(data) == 3
assert "data" in data
assert data["data"].size == (512, 512)
assert data["data"].mode == "L" # Check colors
assert "label" in data
assert data["label"] in [0, 1] # Check labels
assert "bboxes" in data
assert data["bboxes"] == "none" or data["bboxes"][0].startswith("{'xmin':")
limit = 30 # use this to limit testing to first images only, else None
subset = dataset_with_bboxes.subsets("default")
for s in subset["train"][:limit]:
_check_sample(s)
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v2")
def test_check():
from ptbench.data.tbx11k_simplified_v2 import dataset
assert dataset.check() == 0
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v2")
def test_check_bbox():
from ptbench.data.tbx11k_simplified_v2 import dataset_with_bboxes
assert dataset_with_bboxes.check() == 0
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Tests for TBX11K simplified dataset."""
import pytest
def test_protocol_consistency():
from ptbench.data.tbx11k_simplified_v3 import dataset
# Default protocol
subset = dataset.subsets("default")
assert len(subset) == 3
assert "train" in subset
assert len(subset["train"]) == 2767
for s in subset["train"]:
assert s.key.startswith("images/")
assert "validation" in subset
assert len(subset["validation"]) == 706
for s in subset["validation"]:
assert s.key.startswith("images/")
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]
def test_protocol_consistency_bbox():
from ptbench.data.tbx11k_simplified_v3 import dataset_with_bboxes
# Default protocol
subset = dataset_with_bboxes.subsets("default")
assert len(subset) == 3
assert "train" in subset
assert len(subset["train"]) == 2767
for s in subset["train"]:
assert s.key.startswith("images/")
assert "validation" in subset
assert len(subset["validation"]) == 706
for s in subset["validation"]:
assert s.key.startswith("images/")
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]
# Check bounding boxes
for s in subset["train"]:
assert s.bboxes == "none" or s.bboxes[0].startswith("{'xmin':")
# Cross-validation fold 0-9
for f in range(10):
subset = dataset_with_bboxes.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]
# Check bounding boxes
for s in subset["train"]:
assert s.bboxes == "none" or s.bboxes[0].startswith("{'xmin':")
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v3")
def test_loading():
from ptbench.data.tbx11k_simplified_v3 import dataset
def _check_sample(s):
data = s.data
assert isinstance(data, dict)
assert len(data) == 2
assert "data" in data
assert data["data"].size == (512, 512)
assert data["data"].mode == "L" # Check colors
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)
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v3")
def test_loading_bbox():
from ptbench.data.tbx11k_simplified_v3 import dataset_with_bboxes
def _check_sample(s):
data = s.data
assert isinstance(data, dict)
assert len(data) == 3
assert "data" in data
assert data["data"].size == (512, 512)
assert data["data"].mode == "L" # Check colors
assert "label" in data
assert data["label"] in [0, 1] # Check labels
assert "bboxes" in data
assert data["bboxes"] == "none" or data["bboxes"][0].startswith("{'xmin':")
limit = 30 # use this to limit testing to first images only, else None
subset = dataset_with_bboxes.subsets("default")
for s in subset["train"][:limit]:
_check_sample(s)
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v3")
def test_check():
from ptbench.data.tbx11k_simplified_v3 import dataset
assert dataset.check() == 0
@pytest.mark.skip_if_rc_var_not_set("datadir.tbx11k_simplified_v3")
def test_check_bbox():
from ptbench.data.tbx11k_simplified_v3 import dataset_with_bboxes
assert dataset_with_bboxes.check() == 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment