From d0e03dfeb2284e6f7f37bb6da8bc22d5aa77492b Mon Sep 17 00:00:00 2001 From: dcarron <daniel.carron@idiap.ch> Date: Mon, 5 Jun 2023 13:05:20 +0200 Subject: [PATCH] Moved tbx11k_simplified configs to data --- .../datasets/tbx11k_simplified/__init__.py | 25 ---------- .../datasets/tbx11k_simplified/default.py | 17 ------- .../datasets/tbx11k_simplified/fold_0.py | 17 ------- .../datasets/tbx11k_simplified/fold_0_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_1.py | 17 ------- .../datasets/tbx11k_simplified/fold_1_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_2.py | 17 ------- .../datasets/tbx11k_simplified/fold_2_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_3.py | 17 ------- .../datasets/tbx11k_simplified/fold_3_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_4.py | 17 ------- .../datasets/tbx11k_simplified/fold_4_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_5.py | 17 ------- .../datasets/tbx11k_simplified/fold_5_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_6.py | 17 ------- .../datasets/tbx11k_simplified/fold_6_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_7.py | 17 ------- .../datasets/tbx11k_simplified/fold_7_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_8.py | 17 ------- .../datasets/tbx11k_simplified/fold_8_rgb.py | 17 ------- .../datasets/tbx11k_simplified/fold_9.py | 17 ------- .../datasets/tbx11k_simplified/fold_9_rgb.py | 17 ------- .../configs/datasets/tbx11k_simplified/rgb.py | 17 ------- .../data/tbx11k_simplified/__init__.py | 25 +++++++++- src/ptbench/data/tbx11k_simplified/default.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_0.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_0_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_1.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_1_rgb.py | 50 +++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_2.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_2_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_3.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_3_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_4.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_4_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_5.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_5_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_6.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_6_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_7.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_7_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_8.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_8_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/fold_9.py | 49 ++++++++++++++++++ .../data/tbx11k_simplified/fold_9_rgb.py | 49 ++++++++++++++++++ src/ptbench/data/tbx11k_simplified/rgb.py | 49 ++++++++++++++++++ 46 files changed, 1102 insertions(+), 401 deletions(-) delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/__init__.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/default.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_0.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_0_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_1.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_1_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_2.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_2_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_3.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_3_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_4.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_4_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_5.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_5_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_6.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_6_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_7.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_7_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_8.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_8_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_9.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/fold_9_rgb.py delete mode 100644 src/ptbench/configs/datasets/tbx11k_simplified/rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/default.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_0.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_0_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_1.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_1_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_2.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_2_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_3.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_3_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_4.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_4_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_5.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_5_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_6.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_6_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_7.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_7_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_8.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_8_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_9.py create mode 100644 src/ptbench/data/tbx11k_simplified/fold_9_rgb.py create mode 100644 src/ptbench/data/tbx11k_simplified/rgb.py diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/__init__.py b/src/ptbench/configs/datasets/tbx11k_simplified/__init__.py deleted file mode 100644 index 595c3231..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - - -def _maker(protocol, RGB=False): - from torchvision import transforms - - from ....data.tbx11k_simplified import dataset as raw - from ....data.transforms import ElasticDeformation - 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)], - [], - [ElasticDeformation(p=0.8)], - post_transforms, - ) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/default.py b/src/ptbench/configs/datasets/tbx11k_simplified/default.py deleted file mode 100644 index cb23f352..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/default.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("default") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_0.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_0.py deleted file mode 100644 index 8f907af7..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_0.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_0") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_0_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_0_rgb.py deleted file mode 100644 index 141a3e95..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_0_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_0", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_1.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_1.py deleted file mode 100644 index cb7e2360..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_1.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_1") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_1_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_1_rgb.py deleted file mode 100644 index a9cecd0b..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_1_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_1", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_2.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_2.py deleted file mode 100644 index 1cffe2fb..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_2.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_2") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_2_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_2_rgb.py deleted file mode 100644 index fadd67cc..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_2_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_2", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_3.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_3.py deleted file mode 100644 index 64743fbd..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_3.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_3") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_3_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_3_rgb.py deleted file mode 100644 index d17f3e6a..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_3_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_3", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_4.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_4.py deleted file mode 100644 index 0739b98b..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_4.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_4") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_4_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_4_rgb.py deleted file mode 100644 index 83a560c4..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_4_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_4", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_5.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_5.py deleted file mode 100644 index dc200e16..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_5.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_5") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_5_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_5_rgb.py deleted file mode 100644 index e7471a1f..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_5_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_5", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_6.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_6.py deleted file mode 100644 index 6bfb172b..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_6.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_6") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_6_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_6_rgb.py deleted file mode 100644 index 89987781..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_6_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_6", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_7.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_7.py deleted file mode 100644 index 55350496..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_7.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_7") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_7_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_7_rgb.py deleted file mode 100644 index 82b419f0..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_7_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_7", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_8.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_8.py deleted file mode 100644 index d4cdc774..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_8.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_8") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_8_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_8_rgb.py deleted file mode 100644 index 8d008ce3..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_8_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_8", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_9.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_9.py deleted file mode 100644 index f46b3549..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_9.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_9") diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/fold_9_rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/fold_9_rgb.py deleted file mode 100644 index 73507723..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/fold_9_rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_9", RGB=True) diff --git a/src/ptbench/configs/datasets/tbx11k_simplified/rgb.py b/src/ptbench/configs/datasets/tbx11k_simplified/rgb.py deleted file mode 100644 index e22dff69..00000000 --- a/src/ptbench/configs/datasets/tbx11k_simplified/rgb.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""TBX11k simplified dataset for TB detection (default protocol) - -* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for -* "validation", 21.6% for "test" -* This split only consists of healthy and active TB samples -* "Latent TB" or "sick & non-TB" samples are not included in this configuration -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.tbx11k_simplified` for dataset details -""" - -from . import _maker - -dataset = _maker("default", RGB=True) diff --git a/src/ptbench/data/tbx11k_simplified/__init__.py b/src/ptbench/data/tbx11k_simplified/__init__.py index dd2be35d..3080b63a 100644 --- a/src/ptbench/data/tbx11k_simplified/__init__.py +++ b/src/ptbench/data/tbx11k_simplified/__init__.py @@ -76,15 +76,36 @@ def _loader_bbox(context, sample): return make_delayed_bbox(sample, _raw_data_loader_bbox) -dataset = JSONDataset( +json_dataset = JSONDataset( protocols=_protocols, fieldnames=("data", "label"), loader=_loader, ) -dataset_with_bboxes = JSONDataset( +json_dataset_with_bboxes = JSONDataset( protocols=_protocols, fieldnames=("data", "label", "bboxes"), loader=_loader_bbox, ) """TBX11K simplified dataset object.""" + + +def _maker(protocol, RGB=False): + from torchvision import transforms + + from .. import make_dataset + from ..transforms import ElasticDeformation + + post_transforms = [] + if RGB: + post_transforms = [ + transforms.Lambda(lambda x: x.convert("RGB")), + transforms.ToTensor(), + ] + + return make_dataset( + [json_dataset.subsets(protocol)], + [], + [ElasticDeformation(p=0.8)], + post_transforms, + ) diff --git a/src/ptbench/data/tbx11k_simplified/default.py b/src/ptbench/data/tbx11k_simplified/default.py new file mode 100644 index 00000000..945449b3 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/default.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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("default") + ( + 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/tbx11k_simplified/fold_0.py b/src/ptbench/data/tbx11k_simplified/fold_0.py new file mode 100644 index 00000000..84fa352c --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_0.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_0_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_0_rgb.py new file mode 100644 index 00000000..349b226e --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_0_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_1.py b/src/ptbench/data/tbx11k_simplified/fold_1.py new file mode 100644 index 00000000..8356e523 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_1.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_1_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_1_rgb.py new file mode 100644 index 00000000..439dff09 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_1_rgb.py @@ -0,0 +1,50 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_2.py b/src/ptbench/data/tbx11k_simplified/fold_2.py new file mode 100644 index 00000000..9231a256 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_2.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_2_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_2_rgb.py new file mode 100644 index 00000000..60a6322f --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_2_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_3.py b/src/ptbench/data/tbx11k_simplified/fold_3.py new file mode 100644 index 00000000..13817463 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_3.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_3_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_3_rgb.py new file mode 100644 index 00000000..3a2975ed --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_3_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_4.py b/src/ptbench/data/tbx11k_simplified/fold_4.py new file mode 100644 index 00000000..15825b31 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_4.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_4_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_4_rgb.py new file mode 100644 index 00000000..021aa7a7 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_4_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_5.py b/src/ptbench/data/tbx11k_simplified/fold_5.py new file mode 100644 index 00000000..a090f398 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_5.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_5_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_5_rgb.py new file mode 100644 index 00000000..07e4209e --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_5_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_6.py b/src/ptbench/data/tbx11k_simplified/fold_6.py new file mode 100644 index 00000000..edfc4004 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_6.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_6_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_6_rgb.py new file mode 100644 index 00000000..e4e2b1fc --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_6_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_7.py b/src/ptbench/data/tbx11k_simplified/fold_7.py new file mode 100644 index 00000000..08997127 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_7.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_7_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_7_rgb.py new file mode 100644 index 00000000..0412530e --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_7_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_8.py b/src/ptbench/data/tbx11k_simplified/fold_8.py new file mode 100644 index 00000000..9bb46f96 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_8.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_8_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_8_rgb.py new file mode 100644 index 00000000..c88b51d9 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_8_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_9.py b/src/ptbench/data/tbx11k_simplified/fold_9.py new file mode 100644 index 00000000..db5abd74 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_9.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/fold_9_rgb.py b/src/ptbench/data/tbx11k_simplified/fold_9_rgb.py new file mode 100644 index 00000000..20cb6d49 --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/fold_9_rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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 Fold0Module(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 = Fold0Module diff --git a/src/ptbench/data/tbx11k_simplified/rgb.py b/src/ptbench/data/tbx11k_simplified/rgb.py new file mode 100644 index 00000000..4a0b72fb --- /dev/null +++ b/src/ptbench/data/tbx11k_simplified/rgb.py @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""TBX11k simplified dataset for TB detection (default protocol) + +* Split reference: first 62.5% of TB and healthy CXR for "train" 15.9% for +* "validation", 21.6% for "test" +* This split only consists of healthy and active TB samples +* "Latent TB" or "sick & non-TB" samples are not included in this configuration +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.tbx11k_simplified` 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("default", RGB=True) + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule -- GitLab