Skip to content
Snippets Groups Projects
Commit 45f95973 authored by Daniel CARRON's avatar Daniel CARRON :b:
Browse files

[test] Test loaded images against reference histograms

parent 05853dc7
No related branches found
No related tags found
2 merge requests!18Update tests,!16Make square centre-padding a model transform
......@@ -7,9 +7,12 @@ dataset A/dataset B) dataset.
"""
import importlib
import json
import pytest
from PIL import Image
def id_function(val):
if isinstance(val, dict):
......@@ -95,3 +98,28 @@ def test_loading(database_checkers, name: str, dataset: str):
expected_num_labels=1,
)
limit -= 1
@pytest.mark.skip_if_rc_var_not_set("datadir.indian")
def test_loaded_image_quality(datadir):
datamodule = importlib.import_module(
".default", "mednet.config.data.indian"
).datamodule
datamodule.model_transforms = []
datamodule.setup("predict")
loader = datamodule.splits["train"][0][1]
first_sample = datamodule.splits["train"][0][0][0]
image_data = loader.sample(first_sample)[0].numpy()[
0, :, :
] # PIL expects grayscale to not have any leading dim
img = Image.fromarray(image_data, mode="L")
histogram = img.histogram()
reference_histogram_file = str(datadir / "histogram_indian.json")
with open(reference_histogram_file) as i_f:
ref_histogram = json.load(i_f)["histogram"]
assert histogram == ref_histogram
......@@ -4,9 +4,12 @@
"""Tests for Montgomery dataset."""
import importlib
import json
import pytest
from PIL import Image
def id_function(val):
if isinstance(val, dict):
......@@ -92,3 +95,28 @@ def test_loading(database_checkers, name: str, dataset: str):
expected_num_labels=1,
)
limit -= 1
@pytest.mark.skip_if_rc_var_not_set("datadir.montgomery")
def test_loaded_image_quality(datadir):
datamodule = importlib.import_module(
".default", "mednet.config.data.montgomery"
).datamodule
datamodule.model_transforms = []
datamodule.setup("predict")
loader = datamodule.splits["train"][0][1]
first_sample = datamodule.splits["train"][0][0][0]
image_data = loader.sample(first_sample)[0].numpy()[
0, :, :
] # PIL expects grayscale to not have any leading dim
img = Image.fromarray(image_data, mode="L")
histogram = img.histogram()
reference_histogram_file = str(datadir / "histogram_montgomery.json")
with open(reference_histogram_file) as i_f:
ref_histogram = json.load(i_f)["histogram"]
assert histogram == ref_histogram
......@@ -4,9 +4,12 @@
"""Tests for Shenzhen dataset."""
import importlib
import json
import pytest
from PIL import Image
def id_function(val):
if isinstance(val, dict):
......@@ -92,3 +95,28 @@ def test_loading(database_checkers, name: str, dataset: str):
expected_num_labels=1,
)
limit -= 1
@pytest.mark.skip_if_rc_var_not_set("datadir.shenzhen")
def test_loaded_image_quality(datadir):
datamodule = importlib.import_module(
".default", "mednet.config.data.shenzhen"
).datamodule
datamodule.model_transforms = []
datamodule.setup("predict")
loader = datamodule.splits["train"][0][1]
first_sample = datamodule.splits["train"][0][0][0]
image_data = loader.sample(first_sample)[0].numpy()[
0, :, :
] # PIL expects grayscale to not have any leading dim
img = Image.fromarray(image_data, mode="L")
histogram = img.histogram()
reference_histogram_file = str(datadir / "histogram_shenzhen.json")
with open(reference_histogram_file) as i_f:
ref_histogram = json.load(i_f)["histogram"]
assert histogram == ref_histogram
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