diff --git a/pyproject.toml b/pyproject.toml index 107619fda093873189adc614ea440c6d06079545..6eee969fe7c5b21b1808b33926f5e105163a7031 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -152,7 +152,7 @@ shenzhen_rs_f7 = "ptbench.configs.datasets.shenzhen_RS.fold_7" shenzhen_rs_f8 = "ptbench.configs.datasets.shenzhen_RS.fold_8" shenzhen_rs_f9 = "ptbench.configs.datasets.shenzhen_RS.fold_9" # indian dataset (and cross-validation folds) -indian = "ptbench.configs.datasets.indian.default" +indian = "ptbench.data.indian.default" indian_rgb = "ptbench.configs.datasets.indian.rgb" indian_f0 = "ptbench.configs.datasets.indian.fold_0" indian_f1 = "ptbench.configs.datasets.indian.fold_1" @@ -433,26 +433,26 @@ tbpoc_rs_f7 = "ptbench.configs.datasets.tbpoc_RS.fold_7" tbpoc_rs_f8 = "ptbench.configs.datasets.tbpoc_RS.fold_8" tbpoc_rs_f9 = "ptbench.configs.datasets.tbpoc_RS.fold_9" # hivtb dataset (and cross-validation folds) -hivtb_f0 = "ptbench.configs.datasets.hivtb.fold_0" -hivtb_f1 = "ptbench.configs.datasets.hivtb.fold_1" -hivtb_f2 = "ptbench.configs.datasets.hivtb.fold_2" -hivtb_f3 = "ptbench.configs.datasets.hivtb.fold_3" -hivtb_f4 = "ptbench.configs.datasets.hivtb.fold_4" -hivtb_f5 = "ptbench.configs.datasets.hivtb.fold_5" -hivtb_f6 = "ptbench.configs.datasets.hivtb.fold_6" -hivtb_f7 = "ptbench.configs.datasets.hivtb.fold_7" -hivtb_f8 = "ptbench.configs.datasets.hivtb.fold_8" -hivtb_f9 = "ptbench.configs.datasets.hivtb.fold_9" -hivtb_f0_rgb = "ptbench.configs.datasets.hivtb.fold_0_rgb" -hivtb_f1_rgb = "ptbench.configs.datasets.hivtb.fold_1_rgb" -hivtb_f2_rgb = "ptbench.configs.datasets.hivtb.fold_2_rgb" -hivtb_f3_rgb = "ptbench.configs.datasets.hivtb.fold_3_rgb" -hivtb_f4_rgb = "ptbench.configs.datasets.hivtb.fold_4_rgb" -hivtb_f5_rgb = "ptbench.configs.datasets.hivtb.fold_5_rgb" -hivtb_f6_rgb = "ptbench.configs.datasets.hivtb.fold_6_rgb" -hivtb_f7_rgb = "ptbench.configs.datasets.hivtb.fold_7_rgb" -hivtb_f8_rgb = "ptbench.configs.datasets.hivtb.fold_8_rgb" -hivtb_f9_rgb = "ptbench.configs.datasets.hivtb.fold_9_rgb" +hivtb_f0 = "ptbench.data.hivtb.fold_0" +hivtb_f1 = "ptbench.data.hivtb.fold_1" +hivtb_f2 = "ptbench.data.hivtb.fold_2" +hivtb_f3 = "ptbench.data.hivtb.fold_3" +hivtb_f4 = "ptbench.data.hivtb.fold_4" +hivtb_f5 = "ptbench.data.hivtb.fold_5" +hivtb_f6 = "ptbench.data.hivtb.fold_6" +hivtb_f7 = "ptbench.data.hivtb.fold_7" +hivtb_f8 = "ptbench.data.hivtb.fold_8" +hivtb_f9 = "ptbench.data.hivtb.fold_9" +hivtb_f0_rgb = "ptbench.data.hivtb.fold_0_rgb" +hivtb_f1_rgb = "ptbench.data.hivtb.fold_1_rgb" +hivtb_f2_rgb = "ptbench.data.hivtb.fold_2_rgb" +hivtb_f3_rgb = "ptbench.data.hivtb.fold_3_rgb" +hivtb_f4_rgb = "ptbench.data.hivtb.fold_4_rgb" +hivtb_f5_rgb = "ptbench.data.hivtb.fold_5_rgb" +hivtb_f6_rgb = "ptbench.data.hivtb.fold_6_rgb" +hivtb_f7_rgb = "ptbench.data.hivtb.fold_7_rgb" +hivtb_f8_rgb = "ptbench.data.hivtb.fold_8_rgb" +hivtb_f9_rgb = "ptbench.data.hivtb.fold_9_rgb" # extended hivtb dataset (with radiological signs) hivtb_rs_f0 = "ptbench.configs.datasets.hivtb_RS.fold_0" hivtb_rs_f1 = "ptbench.configs.datasets.hivtb_RS.fold_1" diff --git a/src/ptbench/configs/datasets/hivtb/__init__.py b/src/ptbench/configs/datasets/hivtb/__init__.py deleted file mode 100644 index e026f4a4b062d41b5530242474061f0d781798ee..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - - -def _maker(protocol, resize_size=512, cc_size=512, RGB=False): - from torchvision import transforms - - from ....data.hivtb import dataset as raw - from ....data.transforms import ElasticDeformation, RemoveBlackBorders - from .. import make_dataset as mk - - post_transforms = [] - if RGB: - post_transforms = [ - transforms.Lambda(lambda x: x.convert("RGB")), - transforms.ToTensor(), - ] - - return mk( - [raw.subsets(protocol)], - [ - RemoveBlackBorders(), - transforms.Resize(resize_size), - transforms.CenterCrop(cc_size), - ], - [ElasticDeformation(p=0.8)], - post_transforms, - ) diff --git a/src/ptbench/configs/datasets/hivtb/fold_0.py b/src/ptbench/configs/datasets/hivtb/fold_0.py deleted file mode 100644 index 36cb16e03ba6b5b79dd333895c4da836ba452e53..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_0.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 0) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_0") diff --git a/src/ptbench/configs/datasets/hivtb/fold_0_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_0_rgb.py deleted file mode 100644 index d8bf759afb9cb24e2ef74c6d49d22f18f8069a9d..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_0_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 0) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_0", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_1.py b/src/ptbench/configs/datasets/hivtb/fold_1.py deleted file mode 100644 index bacec20d489adb351e8bbe1782a235d57fe7c308..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_1.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 1) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_1") diff --git a/src/ptbench/configs/datasets/hivtb/fold_1_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_1_rgb.py deleted file mode 100644 index 7dc5eb622aecd5aaa5b1ee2c7d31e7cbabf4282e..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_1_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 1) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_1", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_2.py b/src/ptbench/configs/datasets/hivtb/fold_2.py deleted file mode 100644 index edd547980fcb4cddd1e264aa79d4d73f4d8fe098..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_2.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 2) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_2") diff --git a/src/ptbench/configs/datasets/hivtb/fold_2_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_2_rgb.py deleted file mode 100644 index cb88d1e1d787fd5529ad4dcc86001883a6df3bc7..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_2_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 2) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_2", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_3.py b/src/ptbench/configs/datasets/hivtb/fold_3.py deleted file mode 100644 index 2e8371b81993f985c0cf14f339717c9328742389..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_3.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 3) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_3") diff --git a/src/ptbench/configs/datasets/hivtb/fold_3_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_3_rgb.py deleted file mode 100644 index c4fc878f0f5e05fe91eb064309a1121f73adbe50..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_3_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 3) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_3", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_4.py b/src/ptbench/configs/datasets/hivtb/fold_4.py deleted file mode 100644 index adbd52a401dfdac59c768643741c9aabb4f0227f..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_4.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 4) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_4") diff --git a/src/ptbench/configs/datasets/hivtb/fold_4_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_4_rgb.py deleted file mode 100644 index db79d17baeae36f1bcee8ec06d69b14b97c2e432..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_4_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 4) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_4", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_5.py b/src/ptbench/configs/datasets/hivtb/fold_5.py deleted file mode 100644 index 66862f150d9e016d87da110de5dff4b23f613020..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_5.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 5) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_5") diff --git a/src/ptbench/configs/datasets/hivtb/fold_5_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_5_rgb.py deleted file mode 100644 index bf9805b7b52c799bcadeb68541428468ef859c4d..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_5_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 5) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_5", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_6.py b/src/ptbench/configs/datasets/hivtb/fold_6.py deleted file mode 100644 index f4a4e786c1232637295b4c2695a92844ad650f79..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_6.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 6) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_6") diff --git a/src/ptbench/configs/datasets/hivtb/fold_6_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_6_rgb.py deleted file mode 100644 index dd4e0f681a830d95077ffffed786dfad25303e75..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_6_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 6) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_6", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_7.py b/src/ptbench/configs/datasets/hivtb/fold_7.py deleted file mode 100644 index 5a84c9560655ea8a9f95aa0d54172a96844b52aa..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_7.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 7) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_7") diff --git a/src/ptbench/configs/datasets/hivtb/fold_7_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_7_rgb.py deleted file mode 100644 index 511f7d2ce327f0cfad096a62b98198b2a4757a33..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_7_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 7) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_7", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_8.py b/src/ptbench/configs/datasets/hivtb/fold_8.py deleted file mode 100644 index cfe6c632b2f048312fee34c914f44fd8a68c1953..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_8.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 8) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_8") diff --git a/src/ptbench/configs/datasets/hivtb/fold_8_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_8_rgb.py deleted file mode 100644 index 7ddfabe603540cf65bc60bec88e1bbb707fca0c5..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_8_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 8) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_8", RGB=True) diff --git a/src/ptbench/configs/datasets/hivtb/fold_9.py b/src/ptbench/configs/datasets/hivtb/fold_9.py deleted file mode 100644 index 27b45302f01cc0698b258d0bc462a8c4d2afc3d0..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_9.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 9) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_9") diff --git a/src/ptbench/configs/datasets/hivtb/fold_9_rgb.py b/src/ptbench/configs/datasets/hivtb/fold_9_rgb.py deleted file mode 100644 index 0b32f34935502ee7c4766d415865bd4974737a77..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/hivtb/fold_9_rgb.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""HIV-TB dataset for TB detection (cross validation fold 9) - -* Split reference: none (stratified kfolding) -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.hivtb` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_9", RGB=True) diff --git a/src/ptbench/data/hivtb/__init__.py b/src/ptbench/data/hivtb/__init__.py index dd87f9a4555590851011d7786224a32ceb1295c7..b5d2753c0ba191b42bcaf8d66c104e36cb4dd839 100644 --- a/src/ptbench/data/hivtb/__init__.py +++ b/src/ptbench/data/hivtb/__init__.py @@ -18,6 +18,7 @@ import importlib.resources import os from ...utils.rc import load_rc +from .. import make_dataset from ..dataset import JSONDataset from ..loader import load_pil_baw, make_delayed @@ -50,9 +51,33 @@ def _loader(context, sample): return make_delayed(sample, _raw_data_loader) -dataset = JSONDataset( +json_dataset = JSONDataset( protocols=_protocols, fieldnames=("data", "label"), loader=_loader, ) """HIV-TB dataset object.""" + + +def _maker(protocol, resize_size=512, cc_size=512, RGB=False): + from torchvision import transforms + + from ..transforms import ElasticDeformation, RemoveBlackBorders + + post_transforms = [] + if RGB: + post_transforms = [ + transforms.Lambda(lambda x: x.convert("RGB")), + transforms.ToTensor(), + ] + + return make_dataset( + [json_dataset.subsets(protocol)], + [ + RemoveBlackBorders(), + transforms.Resize(resize_size), + transforms.CenterCrop(cc_size), + ], + [ElasticDeformation(p=0.8)], + post_transforms, + ) diff --git a/src/ptbench/data/hivtb/fold_0.py b/src/ptbench/data/hivtb/fold_0.py new file mode 100644 index 0000000000000000000000000000000000000000..af3be161a75f76c8287168fdca0e4cac2c5b43d3 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_0.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 0) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_0") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_0_rgb.py b/src/ptbench/data/hivtb/fold_0_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..3a5e13cb473c81a4b04ada39b7504551e952c6f2 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_0_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 0) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_0", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_1.py b/src/ptbench/data/hivtb/fold_1.py new file mode 100644 index 0000000000000000000000000000000000000000..ec86cab362f9b4f298f3b92f7e62893d2f83d16b --- /dev/null +++ b/src/ptbench/data/hivtb/fold_1.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 1) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_1") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_1_rgb.py b/src/ptbench/data/hivtb/fold_1_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..4b5af9ecbb5180957d08697d9dbed005d201be9c --- /dev/null +++ b/src/ptbench/data/hivtb/fold_1_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 1) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_1", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_2.py b/src/ptbench/data/hivtb/fold_2.py new file mode 100644 index 0000000000000000000000000000000000000000..56ae69fee9fe57a2a9d2042f0b20e984832334ac --- /dev/null +++ b/src/ptbench/data/hivtb/fold_2.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 2) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_2") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_2_rgb.py b/src/ptbench/data/hivtb/fold_2_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..bd72b8147b5277539efe92c5c4310234f563a49f --- /dev/null +++ b/src/ptbench/data/hivtb/fold_2_rgb.py @@ -0,0 +1,47 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 2) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_2", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_3.py b/src/ptbench/data/hivtb/fold_3.py new file mode 100644 index 0000000000000000000000000000000000000000..5dbddeda83eda1b46e485a7cbed619a3f8ff1714 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_3.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 3) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_3") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_3_rgb.py b/src/ptbench/data/hivtb/fold_3_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..6c6a8d678afb30fefb0909de3979bada403e8c71 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_3_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 3) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_3", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_4.py b/src/ptbench/data/hivtb/fold_4.py new file mode 100644 index 0000000000000000000000000000000000000000..9ab5a79fe3642254302388e0e054f6753cc8e3f5 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_4.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 4) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_4") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_4_rgb.py b/src/ptbench/data/hivtb/fold_4_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..99a56b4108e362f0469a06e5f2c3ad6b7d7d35da --- /dev/null +++ b/src/ptbench/data/hivtb/fold_4_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 4) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_4", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_5.py b/src/ptbench/data/hivtb/fold_5.py new file mode 100644 index 0000000000000000000000000000000000000000..445ce4589a85bf6323de19f654e93bbd5d766e4b --- /dev/null +++ b/src/ptbench/data/hivtb/fold_5.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 5) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_5") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_5_rgb.py b/src/ptbench/data/hivtb/fold_5_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..2033c03ba93c859bf99e5d74b844ecb2d39c08ac --- /dev/null +++ b/src/ptbench/data/hivtb/fold_5_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 5) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_5", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_6.py b/src/ptbench/data/hivtb/fold_6.py new file mode 100644 index 0000000000000000000000000000000000000000..fbbea2ad903d704787d106077fdfc60cc35b2988 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_6.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 6) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_6") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_6_rgb.py b/src/ptbench/data/hivtb/fold_6_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..16bc6df5069847263cf05154836fb9919bdd2a86 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_6_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 6) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_6", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_7.py b/src/ptbench/data/hivtb/fold_7.py new file mode 100644 index 0000000000000000000000000000000000000000..dcce836d87ff865a88f5f22c8a98bea7f2ded780 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_7.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 7) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_7") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_7_rgb.py b/src/ptbench/data/hivtb/fold_7_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..292ef81e0511ff576c3ea23650421a100a81bd27 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_7_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 7) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_7", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_8.py b/src/ptbench/data/hivtb/fold_8.py new file mode 100644 index 0000000000000000000000000000000000000000..7ba95a1e1cb501b408d409ce04cd2f466bdd55c3 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_8.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 8) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_8") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_8_rgb.py b/src/ptbench/data/hivtb/fold_8_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..eca72655c656c1262137130afea68cbd890577e0 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_8_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 8) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_8", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_9.py b/src/ptbench/data/hivtb/fold_9.py new file mode 100644 index 0000000000000000000000000000000000000000..4a244adfd3807f1abfb46b5b7f55dcedf6dc0292 --- /dev/null +++ b/src/ptbench/data/hivtb/fold_9.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 9) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_9") + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/hivtb/fold_9_rgb.py b/src/ptbench/data/hivtb/fold_9_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..3a12fc23aa92245d070196ac0cfe07e09f204ffe --- /dev/null +++ b/src/ptbench/data/hivtb/fold_9_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""HIV-TB dataset for TB detection (cross validation fold 9) + +* Split reference: none (stratified kfolding) +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.hivtb` for dataset details +""" + +from clapper.logging import setup + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from . import _maker + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + self.dataset = _maker("fold_9", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule