diff --git a/src/ptbench/data/montgomery/loader.py b/src/ptbench/data/montgomery/datamodules.py similarity index 54% rename from src/ptbench/data/montgomery/loader.py rename to src/ptbench/data/montgomery/datamodules.py index ad856d5fcc45603015cf75c1c87885751f25bcd8..bf368c78a852e34b6662073895f40dc3b7c08f2d 100644 --- a/src/ptbench/data/montgomery/loader.py +++ b/src/ptbench/data/montgomery/datamodules.py @@ -2,8 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -"""Specialized raw-data loaders for the Montgomery dataset.""" - +import importlib.resources import os import PIL.Image @@ -11,7 +10,9 @@ import PIL.Image from torchvision.transforms.functional import center_crop, to_tensor from ...utils.rc import load_rc +from ..datamodule import CachingDataModule from ..image_utils import remove_black_borders +from ..split import JSONDatabaseSplit from ..typing import RawDataLoader as _BaseRawDataLoader from ..typing import Sample @@ -85,3 +86,64 @@ class RawDataLoader(_BaseRawDataLoader): The integer label associated with the sample """ return sample[1] + + +class DataModule(CachingDataModule): + """Montgomery datamodule for TB detection. + + The standard digital image database for Tuberculosis was created by the National + Library of Medicine, Maryland, USA in collaboration with Shenzhen No.3 People’s + Hospital, Guangdong Medical College, Shenzhen, China. The Chest X-rays are from + + * Database reference: [MONTGOMERY-SHENZHEN-2014]_ + * Original resolution (height x width or width x height): 4020x4892 px or 4892x4020 px + * This split: + + * Split reference: None + * Training samples: ?? of TB and healthy CXR + * Validation samples: ?? of TB and healthy CXR + * Test samples: ?? of TB and healthy CXR + + Data specifications: + + * Raw data input (on disk): + + * PNG images 8 bit grayscale + * resolution: fixed to one of the cases above + + * Output image: + + * Transforms: + + * Load raw PNG with :py:mod:`PIL` + * Remove black borders + * Torch center cropping to get square image + + * Final specifications + + * Grayscale, encoded as a single plane image, 8 bits + * Square (4020x4020 px) + """ + + def __init__(self, split_filename: str): + super().__init__( + database_split=JSONDatabaseSplit( + importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( + split_filename + ) + ), + raw_data_loader=RawDataLoader(), + ) + + +default = DataModule("default.json.bz2") +fold_0 = DataModule("fold_0.json.bz2") +fold_1 = DataModule("fold_1.json.bz2") +fold_2 = DataModule("fold_2.json.bz2") +fold_3 = DataModule("fold_3.json.bz2") +fold_4 = DataModule("fold_4.json.bz2") +fold_5 = DataModule("fold_5.json.bz2") +fold_6 = DataModule("fold_6.json.bz2") +fold_7 = DataModule("fold_7.json.bz2") +fold_8 = DataModule("fold_8.json.bz2") +fold_9 = DataModule("fold_9.json.bz2") diff --git a/src/ptbench/data/montgomery/default.py b/src/ptbench/data/montgomery/default.py deleted file mode 100644 index bb57b9a7e8d95f9af40d36ac5a57349c8f514846..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/default.py +++ /dev/null @@ -1,61 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (``default`` protocol) - -The standard digital image database for Tuberculosis was created by the National -Library of Medicine, Maryland, USA in collaboration with Shenzhen No.3 People’s -Hospital, Guangdong Medical College, Shenzhen, China. The Chest X-rays are from - -* Database reference: [MONTGOMERY-SHENZHEN-2014]_ -* Original resolution (height x width or width x height): 4020x4892 px or 4892x4020 px -* This split: - - * Split reference: None - * Training samples: ?? of TB and healthy CXR - * Validation samples: ?? of TB and healthy CXR - * Test samples: ?? of TB and healthy CXR - -Data specifications: - -* Raw data input (on disk): - - * PNG images 8 bit grayscale - * resolution: fixed to one of the cases above - -* Output image: - - * Transforms: - - * Load raw PNG with :py:mod:`PIL` - * Remove black borders - * Torch center cropping to get square image - - * Final specifications - - * Grayscale, encoded as a single plane image, 8 bits - * Square (4020x4020 px) - - -Protocol ``default``: - - * Training samples: first 64% of TB and healthy CXR (including labels) - * Validation samples: 16% of TB and healthy CXR (including labels) - * Test samples: 20% of TB and healty CXR (including labels) -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "default.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_0.py b/src/ptbench/data/montgomery/fold_0.py deleted file mode 100644 index e50d2e302f1c6b529c862c529bb77cf20aef8a57..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_0.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (``fold 0`` protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_0.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_1.py b/src/ptbench/data/montgomery/fold_1.py deleted file mode 100644 index 3698a9edfa614f980b9b2352d97c7329965d371d..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_1.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_1.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_2.py b/src/ptbench/data/montgomery/fold_2.py deleted file mode 100644 index b2d7ac2cfd8def5627b56d5353740e9676e1d9cc..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_2.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_2.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_3.py b/src/ptbench/data/montgomery/fold_3.py deleted file mode 100644 index 1c566e4f528e587cfd8a3bd882e2c73ea5a46aa6..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_3.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_3.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_4.py b/src/ptbench/data/montgomery/fold_4.py deleted file mode 100644 index 4b68bd538f71115a01bae0fce87742be6ab711a8..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_4.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_4.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_5.py b/src/ptbench/data/montgomery/fold_5.py deleted file mode 100644 index 59891e8e1b5531b94fc996bfe25ef140ff39a83a..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_5.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_5.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_6.py b/src/ptbench/data/montgomery/fold_6.py deleted file mode 100644 index e6c1d31a69ff20bbfd3ec4e53ba4eab0f9beec7f..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_6.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_6.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_7.py b/src/ptbench/data/montgomery/fold_7.py deleted file mode 100644 index 44dd80512be61c32616188968a418b9963b41aed..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_7.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_7.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_8.py b/src/ptbench/data/montgomery/fold_8.py deleted file mode 100644 index fd7edde69259023fa36ff05027fe1f0ad19d6661..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_8.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_8.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/montgomery/fold_9.py b/src/ptbench/data/montgomery/fold_9.py deleted file mode 100644 index 91228362f8c376d9ac9186f6675d80295e848f13..0000000000000000000000000000000000000000 --- a/src/ptbench/data/montgomery/fold_9.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Montgomery datamodule for TB detection (default protocol) - -See :py:mod:`ptbench.data.montgomery.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_9.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/loader.py b/src/ptbench/data/shenzhen/datamodules.py similarity index 52% rename from src/ptbench/data/shenzhen/loader.py rename to src/ptbench/data/shenzhen/datamodules.py index 3409fed2e1a552c44135888df6d6bc4a874b427c..f0f68e267034365e9d256394cdddcbdc269768be 100644 --- a/src/ptbench/data/shenzhen/loader.py +++ b/src/ptbench/data/shenzhen/datamodules.py @@ -2,8 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -"""Specialized raw-data loaders for the Shenzen dataset.""" - +import importlib.resources import os import PIL.Image @@ -11,7 +10,9 @@ import PIL.Image from torchvision.transforms.functional import center_crop, to_tensor from ...utils.rc import load_rc +from ..datamodule import CachingDataModule from ..image_utils import remove_black_borders +from ..split import JSONDatabaseSplit from ..typing import RawDataLoader as _BaseRawDataLoader from ..typing import Sample @@ -90,3 +91,66 @@ class RawDataLoader(_BaseRawDataLoader): The integer label associated with the sample """ return sample[1] + + +class DataModule(CachingDataModule): + """Shenzhen datamodule for computer-aided diagnosis. + + The standard digital image database for Tuberculosis was created by the National + Library of Medicine, Maryland, USA in collaboration with Shenzhen No.3 People’s + Hospital, Guangdong Medical College, Shenzhen, China. The Chest X-rays are from + out-patient clinics, and were captured as part of the daily routine using + Philips DR Digital Diagnose systems. + + * Database reference: [MONTGOMERY-SHENZHEN-2014]_ + * Original resolution (height x width or width x height): 3000 x 3000 or less + * This split: + + * Split reference: None + * Training samples: 64% of TB and healthy CXR (including labels) + * Validation samples: 16% of TB and healthy CXR (including labels) + * Test samples: 20% of TB and healthy CXR (including labels) + + Data specifications: + + * Raw data input (on disk): + + * PNG images (grayscale, encoded as RGB images with "inverted" grayscale scale) + * Variable width and height + + * Output image: + + * Transforms: + + * Load raw PNG with :py:mod:`PIL` + * Remove black borders + * Torch center cropping to get square image + + * Final specifications: + + * Grayscale, encoded as a single plane image, 8 bits + * Square, with varying resolutions, depending on the input image + """ + + def __init__(self, split_filename: str): + super().__init__( + database_split=JSONDatabaseSplit( + importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( + split_filename + ) + ), + raw_data_loader=RawDataLoader(), + ) + + +default = DataModule("default.json.bz2") +fold_0 = DataModule("fold_0.json.bz2") +fold_1 = DataModule("fold_1.json.bz2") +fold_2 = DataModule("fold_2.json.bz2") +fold_3 = DataModule("fold_3.json.bz2") +fold_4 = DataModule("fold_4.json.bz2") +fold_5 = DataModule("fold_5.json.bz2") +fold_6 = DataModule("fold_6.json.bz2") +fold_7 = DataModule("fold_7.json.bz2") +fold_8 = DataModule("fold_8.json.bz2") +fold_9 = DataModule("fold_9.json.bz2") diff --git a/src/ptbench/data/shenzhen/default.py b/src/ptbench/data/shenzhen/default.py deleted file mode 100644 index a163b9bc6290f53e611d214bdfa03e0cf93eb492..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/default.py +++ /dev/null @@ -1,56 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (``default`` protocol) - -The standard digital image database for Tuberculosis was created by the National -Library of Medicine, Maryland, USA in collaboration with Shenzhen No.3 People’s -Hospital, Guangdong Medical College, Shenzhen, China. The Chest X-rays are from -out-patient clinics, and were captured as part of the daily routine using -Philips DR Digital Diagnose systems. - -* Database reference: [MONTGOMERY-SHENZHEN-2014]_ -* Original resolution (height x width or width x height): 3000 x 3000 or less -* This split: - - * Split reference: None - * Training samples: 64% of TB and healthy CXR (including labels) - * Validation samples: 16% of TB and healthy CXR (including labels) - * Test samples: 20% of TB and healthy CXR (including labels) - -Data specifications: - -* Raw data input (on disk): - - * PNG images (grayscale, encoded as RGB images with "inverted" grayscale scale) - * Variable width and height - -* Output image: - - * Transforms: - - * Load raw PNG with :py:mod:`PIL` - * Remove black borders - * Torch center cropping to get square image - - * Final specifications: - - * Grayscale, encoded as a single plane image, 8 bits - * Square, with varying resolutions, depending on the input image -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "default.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_0.py b/src/ptbench/data/shenzhen/fold_0.py deleted file mode 100644 index b505974491eea26e1da8931022eb168a42d57a0f..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_0.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 0) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_0.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_1.py b/src/ptbench/data/shenzhen/fold_1.py deleted file mode 100644 index 1041c3e4ef6d14942dadd4c680dc10fee0cfd17c..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_1.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 1) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_1.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_2.py b/src/ptbench/data/shenzhen/fold_2.py deleted file mode 100644 index 5026116a9cd75ac406f334682b38ce760104444d..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_2.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 2) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_2.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_3.py b/src/ptbench/data/shenzhen/fold_3.py deleted file mode 100644 index 16c00157c5fa9fda38afc16614b75f2e766c33d5..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_3.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 3) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_3.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_4.py b/src/ptbench/data/shenzhen/fold_4.py deleted file mode 100644 index c0b0fdacdf90fdce168988057219923af73ad6a0..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_4.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 4) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_4.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_5.py b/src/ptbench/data/shenzhen/fold_5.py deleted file mode 100644 index 0397955e25d1077af68b825b5ecbf0d8974499db..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_5.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 5) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_5.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_6.py b/src/ptbench/data/shenzhen/fold_6.py deleted file mode 100644 index 145685ea96be63501a8afd771518b4b2f3f65c49..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_6.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 6) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_6.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_7.py b/src/ptbench/data/shenzhen/fold_7.py deleted file mode 100644 index 5b8d74034a18e2637a9a193557571521722e93bc..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_7.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 7) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_7.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_8.py b/src/ptbench/data/shenzhen/fold_8.py deleted file mode 100644 index e9ce1a2f408543bc93d8f116a2f8834ab79c989f..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_8.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 8) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_8.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -) diff --git a/src/ptbench/data/shenzhen/fold_9.py b/src/ptbench/data/shenzhen/fold_9.py deleted file mode 100644 index 6da8dd3d7a4260e7b9a478baea4b2848383f8459..0000000000000000000000000000000000000000 --- a/src/ptbench/data/shenzhen/fold_9.py +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Shenzhen datamodule for computer-aided diagnosis (fold 9) - -See :py:mod:`ptbench.data.shenzhen.default` for input/output details. -""" - -import importlib.resources - -from ..datamodule import CachingDataModule -from ..split import JSONDatabaseSplit -from .loader import RawDataLoader - -datamodule = CachingDataModule( - database_split=JSONDatabaseSplit( - importlib.resources.files(__name__.rsplit(".", 1)[0]).joinpath( - "fold_9.json.bz2" - ) - ), - raw_data_loader=RawDataLoader(), -)