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 595c323178507ec04f9dc1768e080310b9ca7d50..0000000000000000000000000000000000000000
--- 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 cb23f352123b276cb4de22a744018900d355bf3c..0000000000000000000000000000000000000000
--- 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 8f907af758f60609f2992faf80b979f41f2c4807..0000000000000000000000000000000000000000
--- 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 141a3e954167bebd40662a3ae6481d86fb77c0f6..0000000000000000000000000000000000000000
--- 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 cb7e2360f48ae3d3a631b15aac0ce19a427a582d..0000000000000000000000000000000000000000
--- 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 a9cecd0b9da5d9f942d729ad97b69ed7399ec6b1..0000000000000000000000000000000000000000
--- 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 1cffe2fbf4ed29f04002c08097e27d7083e2eed5..0000000000000000000000000000000000000000
--- 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 fadd67cc66c10cdee76ecda9388ecb505540f423..0000000000000000000000000000000000000000
--- 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 64743fbd76490c567eff0447cd9c2221305a34e8..0000000000000000000000000000000000000000
--- 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 d17f3e6a71440d7b076d3145de4e548903dbb033..0000000000000000000000000000000000000000
--- 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 0739b98ba941e5ed19204baa233553a262404671..0000000000000000000000000000000000000000
--- 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 83a560c45f6a7b1f57990e2cb16ab4cb0a80284f..0000000000000000000000000000000000000000
--- 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 dc200e162dbef1f3b5f3ebf17cf57cb5f713c3f9..0000000000000000000000000000000000000000
--- 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 e7471a1fbaca1f11860befacaf798ba14cbbe878..0000000000000000000000000000000000000000
--- 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 6bfb172bbba8716f38f5fca924243a794b97e9bd..0000000000000000000000000000000000000000
--- 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 899877819594fa70094c34aec910a4c11b254289..0000000000000000000000000000000000000000
--- 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 553504966744d0cf415c0a66d473b5e49dae405d..0000000000000000000000000000000000000000
--- 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 82b419f01cf1584b6e6a2eb39fbb02b1b02d0960..0000000000000000000000000000000000000000
--- 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 d4cdc774097b76adc12ffb170880887c09b8cfa7..0000000000000000000000000000000000000000
--- 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 8d008ce3e41b528907f57acf7e93443aa26a9bc6..0000000000000000000000000000000000000000
--- 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 f46b35499af3a6d3fc59789955151f7226c83287..0000000000000000000000000000000000000000
--- 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 73507723ecd5a5794a5b4cd02f52344b39482188..0000000000000000000000000000000000000000
--- 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 e22dff69194f5ad95eaa636aa87ce1e21ca6d13a..0000000000000000000000000000000000000000
--- 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 dd2be35dc4d7992a66a101ad5dcc00ceb127c082..3080b63a3427ddb92af82e88c896802d24b6fa24 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 0000000000000000000000000000000000000000..945449b34fa645fa89b8c047304b804b3dc092e4
--- /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 0000000000000000000000000000000000000000..84fa352c00dfb19fa12203581a94274986c7896c
--- /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 0000000000000000000000000000000000000000..349b226e8680ae4e13541381dda768e9e28132a7
--- /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 0000000000000000000000000000000000000000..8356e52312da166b09ce69e7b2dd90f7d378d6b9
--- /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 0000000000000000000000000000000000000000..439dff09c9d8780b11a3369954ea7008a55af78d
--- /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 0000000000000000000000000000000000000000..9231a25610cf963944472b32ce16b564d9714344
--- /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 0000000000000000000000000000000000000000..60a6322f582365a68f12731f594179153ae94c37
--- /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 0000000000000000000000000000000000000000..1381746372f543525e967e6d7b2612821b1c5edc
--- /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 0000000000000000000000000000000000000000..3a2975ed639e59a6f7e778e1744185303824a98f
--- /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 0000000000000000000000000000000000000000..15825b317861b023c20280fe594666cd308a925e
--- /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 0000000000000000000000000000000000000000..021aa7a740b4aaab6eb267c2549ed50be96cf384
--- /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 0000000000000000000000000000000000000000..a090f3980f8658a9e5008434dff114ecd110ad9b
--- /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 0000000000000000000000000000000000000000..07e4209ecadeeba09c7d9a67006678d6c1fe4ecf
--- /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 0000000000000000000000000000000000000000..edfc40044d6bd1a80b330f7baf54f29c0a5ba679
--- /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 0000000000000000000000000000000000000000..e4e2b1fc6e9d83b39acc2e5a378872ac75b60978
--- /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 0000000000000000000000000000000000000000..08997127759effbeaaefcebd3b5584e3e9af08a3
--- /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 0000000000000000000000000000000000000000..0412530eb47a1319cdee0c2bb2386267265e6676
--- /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 0000000000000000000000000000000000000000..9bb46f969d8cea12d1ea6b526077b75f52fb9633
--- /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 0000000000000000000000000000000000000000..c88b51d94d03d40b60108c0e390b96740af55e64
--- /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 0000000000000000000000000000000000000000..db5abd74c860bca648749fd4f8defa7762070cfa
--- /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 0000000000000000000000000000000000000000..20cb6d49a5bb3275728e964b0d72f44c57443d59
--- /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 0000000000000000000000000000000000000000..4a0b72fbf2d4d5641275353eb75b59817e0dfd7b
--- /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