diff --git a/pyproject.toml b/pyproject.toml index 5fc0981beca79e63840a613fd2cb1d088aa27af2..27ef33fc79192665641364a77e2fbcdd613a5398 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -140,7 +140,7 @@ shenzhen_f7_rgb = "ptbench.data.shenzhen.fold_7_rgb" shenzhen_f8_rgb = "ptbench.data.shenzhen.fold_8_rgb" shenzhen_f9_rgb = "ptbench.data.shenzhen.fold_9_rgb" # extended shenzhen dataset (with radiological signs) -shenzhen_rs = "ptbench.configs.datasets.shenzhen_RS.default" +shenzhen_rs = "ptbench.data.shenzhen_RS.default" shenzhen_rs_f0 = "ptbench.configs.datasets.shenzhen_RS.fold_0" shenzhen_rs_f1 = "ptbench.configs.datasets.shenzhen_RS.fold_1" shenzhen_rs_f2 = "ptbench.configs.datasets.shenzhen_RS.fold_2" @@ -153,27 +153,27 @@ 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.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" -indian_f2 = "ptbench.configs.datasets.indian.fold_2" -indian_f3 = "ptbench.configs.datasets.indian.fold_3" -indian_f4 = "ptbench.configs.datasets.indian.fold_4" -indian_f5 = "ptbench.configs.datasets.indian.fold_5" -indian_f6 = "ptbench.configs.datasets.indian.fold_6" -indian_f7 = "ptbench.configs.datasets.indian.fold_7" -indian_f8 = "ptbench.configs.datasets.indian.fold_8" -indian_f9 = "ptbench.configs.datasets.indian.fold_9" -indian_f0_rgb = "ptbench.configs.datasets.indian.fold_0_rgb" -indian_f1_rgb = "ptbench.configs.datasets.indian.fold_1_rgb" -indian_f2_rgb = "ptbench.configs.datasets.indian.fold_2_rgb" -indian_f3_rgb = "ptbench.configs.datasets.indian.fold_3_rgb" -indian_f4_rgb = "ptbench.configs.datasets.indian.fold_4_rgb" -indian_f5_rgb = "ptbench.configs.datasets.indian.fold_5_rgb" -indian_f6_rgb = "ptbench.configs.datasets.indian.fold_6_rgb" -indian_f7_rgb = "ptbench.configs.datasets.indian.fold_7_rgb" -indian_f8_rgb = "ptbench.configs.datasets.indian.fold_8_rgb" -indian_f9_rgb = "ptbench.configs.datasets.indian.fold_9_rgb" +indian_rgb = "ptbench.data.indian.rgb" +indian_f0 = "ptbench.data.indian.fold_0" +indian_f1 = "ptbench.data.indian.fold_1" +indian_f2 = "ptbench.data.indian.fold_2" +indian_f3 = "ptbench.data.indian.fold_3" +indian_f4 = "ptbench.data.indian.fold_4" +indian_f5 = "ptbench.data.indian.fold_5" +indian_f6 = "ptbench.data.indian.fold_6" +indian_f7 = "ptbench.data.indian.fold_7" +indian_f8 = "ptbench.data.indian.fold_8" +indian_f9 = "ptbench.data.indian.fold_9" +indian_f0_rgb = "ptbench.data.indian.fold_0_rgb" +indian_f1_rgb = "ptbench.data.indian.fold_1_rgb" +indian_f2_rgb = "ptbench.data.indian.fold_2_rgb" +indian_f3_rgb = "ptbench.data.indian.fold_3_rgb" +indian_f4_rgb = "ptbench.data.indian.fold_4_rgb" +indian_f5_rgb = "ptbench.data.indian.fold_5_rgb" +indian_f6_rgb = "ptbench.data.indian.fold_6_rgb" +indian_f7_rgb = "ptbench.data.indian.fold_7_rgb" +indian_f8_rgb = "ptbench.data.indian.fold_8_rgb" +indian_f9_rgb = "ptbench.data.indian.fold_9_rgb" # extended indian dataset (with radiological signs) indian_rs = "ptbench.configs.datasets.indian_RS.default" indian_rs_f0 = "ptbench.configs.datasets.indian_RS.fold_0" @@ -187,28 +187,28 @@ indian_rs_f7 = "ptbench.configs.datasets.indian_RS.fold_7" indian_rs_f8 = "ptbench.configs.datasets.indian_RS.fold_8" indian_rs_f9 = "ptbench.configs.datasets.indian_RS.fold_9" # TBX11K simplified dataset split 1 (and cross-validation folds) -tbx11k_simplified = "ptbench.configs.datasets.tbx11k_simplified.default" -tbx11k_simplified_rgb = "ptbench.configs.datasets.tbx11k_simplified.rgb" -tbx11k_simplified_f0 = "ptbench.configs.datasets.tbx11k_simplified.fold_0" -tbx11k_simplified_f1 = "ptbench.configs.datasets.tbx11k_simplified.fold_1" -tbx11k_simplified_f2 = "ptbench.configs.datasets.tbx11k_simplified.fold_2" -tbx11k_simplified_f3 = "ptbench.configs.datasets.tbx11k_simplified.fold_3" -tbx11k_simplified_f4 = "ptbench.configs.datasets.tbx11k_simplified.fold_4" -tbx11k_simplified_f5 = "ptbench.configs.datasets.tbx11k_simplified.fold_5" -tbx11k_simplified_f6 = "ptbench.configs.datasets.tbx11k_simplified.fold_6" -tbx11k_simplified_f7 = "ptbench.configs.datasets.tbx11k_simplified.fold_7" -tbx11k_simplified_f8 = "ptbench.configs.datasets.tbx11k_simplified.fold_8" -tbx11k_simplified_f9 = "ptbench.configs.datasets.tbx11k_simplified.fold_9" -tbx11k_simplified_f0_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_0_rgb" -tbx11k_simplified_f1_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_1_rgb" -tbx11k_simplified_f2_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_2_rgb" -tbx11k_simplified_f3_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_3_rgb" -tbx11k_simplified_f4_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_4_rgb" -tbx11k_simplified_f5_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_5_rgb" -tbx11k_simplified_f6_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_6_rgb" -tbx11k_simplified_f7_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_7_rgb" -tbx11k_simplified_f8_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_8_rgb" -tbx11k_simplified_f9_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_9_rgb" +tbx11k_simplified = "ptbench.data.tbx11k_simplified.default" +tbx11k_simplified_rgb = "ptbench.data.tbx11k_simplified.rgb" +tbx11k_simplified_f0 = "ptbench.data.tbx11k_simplified.fold_0" +tbx11k_simplified_f1 = "ptbench.data.tbx11k_simplified.fold_1" +tbx11k_simplified_f2 = "ptbench.data.tbx11k_simplified.fold_2" +tbx11k_simplified_f3 = "ptbench.data.tbx11k_simplified.fold_3" +tbx11k_simplified_f4 = "ptbench.data.tbx11k_simplified.fold_4" +tbx11k_simplified_f5 = "ptbench.data.tbx11k_simplified.fold_5" +tbx11k_simplified_f6 = "ptbench.data.tbx11k_simplified.fold_6" +tbx11k_simplified_f7 = "ptbench.data.tbx11k_simplified.fold_7" +tbx11k_simplified_f8 = "ptbench.data.tbx11k_simplified.fold_8" +tbx11k_simplified_f9 = "ptbench.data.tbx11k_simplified.fold_9" +tbx11k_simplified_f0_rgb = "ptbench.data.tbx11k_simplified.fold_0_rgb" +tbx11k_simplified_f1_rgb = "ptbench.data.tbx11k_simplified.fold_1_rgb" +tbx11k_simplified_f2_rgb = "ptbench.data.tbx11k_simplified.fold_2_rgb" +tbx11k_simplified_f3_rgb = "ptbench.data.tbx11k_simplified.fold_3_rgb" +tbx11k_simplified_f4_rgb = "ptbench.data.tbx11k_simplified.fold_4_rgb" +tbx11k_simplified_f5_rgb = "ptbench.data.tbx11k_simplified.fold_5_rgb" +tbx11k_simplified_f6_rgb = "ptbench.data.tbx11k_simplified.fold_6_rgb" +tbx11k_simplified_f7_rgb = "ptbench.data.tbx11k_simplified.fold_7_rgb" +tbx11k_simplified_f8_rgb = "ptbench.data.tbx11k_simplified.fold_8_rgb" +tbx11k_simplified_f9_rgb = "ptbench.data.tbx11k_simplified.fold_9_rgb" # extended TBX11K simplified dataset split 1 (with radiological signs) tbx11k_simplified_rs = "ptbench.configs.datasets.tbx11k_simplified_RS.default" tbx11k_simplified_rs_f0 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_0" diff --git a/src/ptbench/configs/datasets/indian/__init__.py b/src/ptbench/configs/datasets/indian/__init__.py deleted file mode 100644 index 10046b2aecdc223f4cc54f4ab22edec56f2f57b3..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/__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.indian 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/indian/default.py b/src/ptbench/configs/datasets/indian/default.py deleted file mode 100644 index c081f1c6bb3d99f785953d1b202391341bfc9ff0..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/default.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 - -"""Indian dataset for TB detection (default protocol) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("default") diff --git a/src/ptbench/configs/datasets/indian/fold_0.py b/src/ptbench/configs/datasets/indian/fold_0.py deleted file mode 100644 index 4fcf659bcf79c17e96e99aa8d612f516ce2dd701..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 0) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_0") diff --git a/src/ptbench/configs/datasets/indian/fold_0_rgb.py b/src/ptbench/configs/datasets/indian/fold_0_rgb.py deleted file mode 100644 index 536d1f06296b21e6862e4d59375c43fb31f69ddd..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 0, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_0", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_1.py b/src/ptbench/configs/datasets/indian/fold_1.py deleted file mode 100644 index 3c3d85167e01fb66b609cc27ddbfc61d2de88f84..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 1) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_1") diff --git a/src/ptbench/configs/datasets/indian/fold_1_rgb.py b/src/ptbench/configs/datasets/indian/fold_1_rgb.py deleted file mode 100644 index 0bc7ddc2833ae0fbbe1a1e091d708fe9961d0df8..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 1, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_1", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_2.py b/src/ptbench/configs/datasets/indian/fold_2.py deleted file mode 100644 index d1e713eb42ecb3e59488d69965b85dfbf8fdd14c..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 2) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_2") diff --git a/src/ptbench/configs/datasets/indian/fold_2_rgb.py b/src/ptbench/configs/datasets/indian/fold_2_rgb.py deleted file mode 100644 index b2e69fd4c8b362ec5c7ce2453a91b2104aa2cc6a..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 2, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_2", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_3.py b/src/ptbench/configs/datasets/indian/fold_3.py deleted file mode 100644 index 6d16dd73b9ec3ab3afb2df9681324a458a1663c0..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 3) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_3") diff --git a/src/ptbench/configs/datasets/indian/fold_3_rgb.py b/src/ptbench/configs/datasets/indian/fold_3_rgb.py deleted file mode 100644 index 94aa20dd84656c3ef29a86df57e374be6d0b8ade..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 3, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_3", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_4.py b/src/ptbench/configs/datasets/indian/fold_4.py deleted file mode 100644 index 5e292f4049d0bfa638d3915be59709c3aab599d0..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 4) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_4") diff --git a/src/ptbench/configs/datasets/indian/fold_4_rgb.py b/src/ptbench/configs/datasets/indian/fold_4_rgb.py deleted file mode 100644 index dca0eb68f150088ce3de8f5af2e35fb9bd888812..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 4, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_4", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_5.py b/src/ptbench/configs/datasets/indian/fold_5.py deleted file mode 100644 index df5d3f7c6d4f1f242d67e72949a0d761f9aafe37..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 5) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_5") diff --git a/src/ptbench/configs/datasets/indian/fold_5_rgb.py b/src/ptbench/configs/datasets/indian/fold_5_rgb.py deleted file mode 100644 index 70a3be5ab2514d22d3e02837b2042da79d206bcd..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 5, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_5", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_6.py b/src/ptbench/configs/datasets/indian/fold_6.py deleted file mode 100644 index 396d1f31d543b6df37fc7beb82dc5ef1fb57d7bf..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 6) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_6") diff --git a/src/ptbench/configs/datasets/indian/fold_6_rgb.py b/src/ptbench/configs/datasets/indian/fold_6_rgb.py deleted file mode 100644 index 3db051f4d62c5cad044590cbf58fc8816fa43ad3..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 6, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_6", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_7.py b/src/ptbench/configs/datasets/indian/fold_7.py deleted file mode 100644 index 7dfbe28a47d09ec4b3ce7f118ed5ba953f115367..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 7) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_7") diff --git a/src/ptbench/configs/datasets/indian/fold_7_rgb.py b/src/ptbench/configs/datasets/indian/fold_7_rgb.py deleted file mode 100644 index b8949e7d563fca0752b05c4366b5931edbe41a52..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 7, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_7", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_8.py b/src/ptbench/configs/datasets/indian/fold_8.py deleted file mode 100644 index ec7ac100739b5a50091e3a77a46d7e643ffc8c64..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 8) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_8") diff --git a/src/ptbench/configs/datasets/indian/fold_8_rgb.py b/src/ptbench/configs/datasets/indian/fold_8_rgb.py deleted file mode 100644 index 1e1b6efb8af9a0c3f24b55bc7b7771f2efefeb27..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 8, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_8", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/fold_9.py b/src/ptbench/configs/datasets/indian/fold_9.py deleted file mode 100644 index 9f562e3ffcf94b183c210c873c5691744219ebcd..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 9) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_9") diff --git a/src/ptbench/configs/datasets/indian/fold_9_rgb.py b/src/ptbench/configs/datasets/indian/fold_9_rgb.py deleted file mode 100644 index a2c197f631d61cd6ae40ca15b255e83e8d5d2966..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (cross validation fold 9, RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("fold_9", RGB=True) diff --git a/src/ptbench/configs/datasets/indian/rgb.py b/src/ptbench/configs/datasets/indian/rgb.py deleted file mode 100644 index 9aa59729c18f81c6fd9f7f651858d949727d8bef..0000000000000000000000000000000000000000 --- a/src/ptbench/configs/datasets/indian/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 - -"""Indian dataset for TB detection (default protocol, converted in RGB) - -* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set -* This configuration resolution: 512 x 512 (default) -* See :py:mod:`ptbench.data.indian` for dataset details -""" - -from . import _maker - -dataset = _maker("default", RGB=True) diff --git a/src/ptbench/data/indian/__init__.py b/src/ptbench/data/indian/__init__.py index dc1b9d99450f630c6a529ee4949374e3d8a50a1d..72d7567f7087b4646b3e300b5dcf31161af4980f 100644 --- a/src/ptbench/data/indian/__init__.py +++ b/src/ptbench/data/indian/__init__.py @@ -17,6 +17,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, ) """Indian 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/indian/default.py b/src/ptbench/data/indian/default.py new file mode 100644 index 0000000000000000000000000000000000000000..fc8d52ff4aea06466a3f177a5ede9f610836c277 --- /dev/null +++ b/src/ptbench/data/indian/default.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Indian dataset for TB detection (default protocol) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_0.py b/src/ptbench/data/indian/fold_0.py new file mode 100644 index 0000000000000000000000000000000000000000..ffca634728e97fe74cc1f31ff7b6199386ba1ccd --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 0) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_0_rgb.py b/src/ptbench/data/indian/fold_0_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..7f0ded1ece831dfb64ebf0ce47a8ea0c37132990 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 0, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_1.py b/src/ptbench/data/indian/fold_1.py new file mode 100644 index 0000000000000000000000000000000000000000..6075fb0e3a75bd9332acce7a057e1caab2c08506 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 1) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_1_rgb.py b/src/ptbench/data/indian/fold_1_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..bb0160a1ac6f5c74be093d9330579503bb675205 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 1, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_2.py b/src/ptbench/data/indian/fold_2.py new file mode 100644 index 0000000000000000000000000000000000000000..a85141422e0e8ff14600487114b23e3d8d8ad7c5 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 2) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_2_rgb.py b/src/ptbench/data/indian/fold_2_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..ff40668a7aebf7196b1082c6753db6931b13aceb --- /dev/null +++ b/src/ptbench/data/indian/fold_2_rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Indian dataset for TB detection (cross validation fold 2, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_3.py b/src/ptbench/data/indian/fold_3.py new file mode 100644 index 0000000000000000000000000000000000000000..f0e4b15a3f064abede1b57b90522fbd525f0cb5a --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 3) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_3_rgb.py b/src/ptbench/data/indian/fold_3_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..b4f58041d85fa345afe66d93712a9a53780844b4 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 3, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_4.py b/src/ptbench/data/indian/fold_4.py new file mode 100644 index 0000000000000000000000000000000000000000..4a1ca92023ba1e882e1044d1645b6fca8e37ae9b --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 4) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_4_rgb.py b/src/ptbench/data/indian/fold_4_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..41ccb27cf09de3abee93a08ab8c43a3ad580ae4d --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 4, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_5.py b/src/ptbench/data/indian/fold_5.py new file mode 100644 index 0000000000000000000000000000000000000000..7d411c26a99a54dc8f6a2502d96c79bacf0f0482 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 5) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_5_rgb.py b/src/ptbench/data/indian/fold_5_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..5dd71156847c85f927f8fa137f7b7ddf9e51c42a --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 5, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_6.py b/src/ptbench/data/indian/fold_6.py new file mode 100644 index 0000000000000000000000000000000000000000..cf1ba7eec0c8be7287ea8592c2174c5dc4b23a0c --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 6) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_6_rgb.py b/src/ptbench/data/indian/fold_6_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..b32d3dedffd2768845d89bde9b083368c7296b2d --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 6, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_7.py b/src/ptbench/data/indian/fold_7.py new file mode 100644 index 0000000000000000000000000000000000000000..49a4d8f1232a4eabb38432568f16eb3f7e4894a3 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 7) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_7_rgb.py b/src/ptbench/data/indian/fold_7_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..7d5eb33daeda23eb8eb19fc48855d68aa46a57cd --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 7, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_8.py b/src/ptbench/data/indian/fold_8.py new file mode 100644 index 0000000000000000000000000000000000000000..9f6340746cce79c973950316bb73e1f3614a9500 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 8) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_8_rgb.py b/src/ptbench/data/indian/fold_8_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..5c228a285dcca15171755830311cda9701125a50 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 8, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_9.py b/src/ptbench/data/indian/fold_9.py new file mode 100644 index 0000000000000000000000000000000000000000..a406bc17902a2904daf5db13a230f89a32b3f8e4 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 9) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/fold_9_rgb.py b/src/ptbench/data/indian/fold_9_rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..220938488b729cd17fac1adbb51ca592af557d84 --- /dev/null +++ b/src/ptbench/data/indian/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 + +"""Indian dataset for TB detection (cross validation fold 9, RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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/indian/rgb.py b/src/ptbench/data/indian/rgb.py new file mode 100644 index 0000000000000000000000000000000000000000..f8df027ddf1c67870aa76445932441b1e0c2587d --- /dev/null +++ b/src/ptbench/data/indian/rgb.py @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Indian dataset for TB detection (default protocol, converted in RGB) + +* Split reference: [INDIAN-2013]_ with 20% of train set for the validation set +* This configuration resolution: 512 x 512 (default) +* See :py:mod:`ptbench.data.indian` 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