diff --git a/bob/ip/binseg/configs/datasets/dristhigs1_cup.py b/bob/ip/binseg/configs/datasets/dristhigs1_cup.py index 6af20605018cd8cb19b484b6cd800b1aba6ebc63..50ed0f1f404a9a5f3d1b401a95e3bc5d8425e3f0 100644 --- a/bob/ip/binseg/configs/datasets/dristhigs1_cup.py +++ b/bob/ip/binseg/configs/datasets/dristhigs1_cup.py @@ -13,20 +13,18 @@ The dataset is divided into two: a training set and a testing set of images. Training images (50) are provided with groundtruths for OD and Cup segmentation and notching information. -* Reference: [DRISHTIGS1-2014]_ +* Reference (includes split): [DRISHTIGS1-2014]_ * Original resolution (height x width): varying (min: 1749 x 2045, max: 1845 x 2468) * Configuration resolution: 1760 x 2048 (after center cropping) * Training samples: 50 -* Split reference: [DRISHTIGS1-2014]_ """ from bob.ip.binseg.data.transforms import CenterCrop from bob.ip.binseg.configs.datasets.utils import DATA_AUGMENTATION as _DA _transforms = [CenterCrop((1760, 2048))] + _DA -from bob.db.drishtigs1 import Database as DRISHTI -bobdb = DRISHTI(protocol="default_cup") - -from bob.ip.binseg.data.binsegdataset import BinSegDataset -dataset = BinSegDataset(bobdb, split="train", transforms=_transforms) +from bob.ip.binseg.data.utils import SampleList2TorchDataset +from bob.ip.binseg.data.drishtigs1 import dataset as drishtigs1 +dataset = SampleList2TorchDataset(drishtigs1.subsets("optic-cup-all")["train"], + transforms=_transforms) diff --git a/bob/ip/binseg/configs/datasets/dristhigs1_cup_test.py b/bob/ip/binseg/configs/datasets/dristhigs1_cup_test.py index 9e34102911bdf7255feb5b7f93f2ae1d67f3c4a4..365a17235e073a8df80b7cf69226816276ffc2ea 100644 --- a/bob/ip/binseg/configs/datasets/dristhigs1_cup_test.py +++ b/bob/ip/binseg/configs/datasets/dristhigs1_cup_test.py @@ -13,19 +13,17 @@ The dataset is divided into two: a training set and a testing set of images. Training images (50) are provided with groundtruths for OD and Cup segmentation and notching information. -* Reference: [DRISHTIGS1-2014]_ +* Reference (includes split): [DRISHTIGS1-2014]_ * Original resolution (height x width): varying (min: 1749 x 2045, max: 1845 x 2468) * Configuration resolution: 1760 x 2048 (after center cropping) * Test samples: 51 -* Split reference: [DRISHTIGS1-2014]_ """ from bob.ip.binseg.data.transforms import CenterCrop _transforms = [CenterCrop((1760, 2048))] -from bob.db.drishtigs1 import Database as DRISHTI -bobdb = DRISHTI(protocol="default_cup") - -from bob.ip.binseg.data.binsegdataset import BinSegDataset -dataset = BinSegDataset(bobdb, split="test", transforms=_transforms) +from bob.ip.binseg.data.utils import SampleList2TorchDataset +from bob.ip.binseg.data.drishtigs1 import dataset as drishtigs1 +dataset = SampleList2TorchDataset(drishtigs1.subsets("optic-cup-all")["test"], + transforms=_transforms) diff --git a/bob/ip/binseg/configs/datasets/dristhigs1_od.py b/bob/ip/binseg/configs/datasets/dristhigs1_od.py index 0a218f84556e232c0e9a40a978dd0b994afdde63..b35d635d87b9a467f5730cfa16d9f334ca362b13 100644 --- a/bob/ip/binseg/configs/datasets/dristhigs1_od.py +++ b/bob/ip/binseg/configs/datasets/dristhigs1_od.py @@ -13,20 +13,18 @@ The dataset is divided into two: a training set and a testing set of images. Training images (50) are provided with groundtruths for OD and Cup segmentation and notching information. -* Reference: [DRISHTIGS1-2014]_ +* Reference (includes split): [DRISHTIGS1-2014]_ * Original resolution (height x width): varying (min: 1749 x 2045, max: 1845 x 2468) * Configuration resolution: 1760 x 2048 (after center cropping) * Training samples: 50 -* Split reference: [DRISHTIGS1-2014]_ """ from bob.ip.binseg.data.transforms import CenterCrop from bob.ip.binseg.configs.datasets.utils import DATA_AUGMENTATION as _DA _transforms = [CenterCrop((1760, 2048))] + _DA -from bob.db.drishtigs1 import Database as DRISHTI -bobdb = DRISHTI(protocol="default_od") - -from bob.ip.binseg.data.binsegdataset import BinSegDataset -dataset = BinSegDataset(bobdb, split="train", transforms=_transforms) +from bob.ip.binseg.data.utils import SampleList2TorchDataset +from bob.ip.binseg.data.drishtigs1 import dataset as drishtigs1 +dataset = SampleList2TorchDataset(drishtigs1.subsets("optic-disc-all")["train"], + transforms=_transforms) diff --git a/bob/ip/binseg/configs/datasets/dristhigs1_od_test.py b/bob/ip/binseg/configs/datasets/dristhigs1_od_test.py index 84ebd56c499db6d40571ca8a6ccd00de15ae99df..77fb604a0f15f4c659c6645195aa9c2a8fb22dfe 100644 --- a/bob/ip/binseg/configs/datasets/dristhigs1_od_test.py +++ b/bob/ip/binseg/configs/datasets/dristhigs1_od_test.py @@ -13,19 +13,17 @@ The dataset is divided into two: a training set and a testing set of images. Training images (50) are provided with groundtruths for OD and Cup segmentation and notching information. -* Reference: [DRISHTIGS1-2014]_ +* Reference (includes split): [DRISHTIGS1-2014]_ * Original resolution (height x width): varying (min: 1749 x 2045, max: 1845 x 2468) * Configuration resolution: 1760 x 2048 (after center cropping) * Test samples: 51 -* Split reference: [DRISHTIGS1-2014]_ """ from bob.ip.binseg.data.transforms import CenterCrop _transforms = [CenterCrop((1760, 2048))] -from bob.db.drishtigs1 import Database as DRISHTI -bobdb = DRISHTI(protocol="default_od") - -from bob.ip.binseg.data.binsegdataset import BinSegDataset -dataset = BinSegDataset(bobdb, split="test", transforms=_transforms) +from bob.ip.binseg.data.utils import SampleList2TorchDataset +from bob.ip.binseg.data.drishtigs1 import dataset as drishtigs1 +dataset = SampleList2TorchDataset(drishtigs1.subsets("optic-disc-all")["test"], + transforms=_transforms) diff --git a/bob/ip/binseg/data/drishtigs1/__init__.py b/bob/ip/binseg/data/drishtigs1/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d1d1fbbcf0f7dca150b83df329cb2648dae93d68 --- /dev/null +++ b/bob/ip/binseg/data/drishtigs1/__init__.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +# coding=utf-8 + +"""Drishti-GS1 for Optic Disc and Cup Segmentation + +Drishti-GS is a dataset meant for validation of segmenting OD, cup and +detecting notching. The images in the Drishti-GS dataset have been collected +and annotated by Aravind Eye hospital, Madurai, India. This dataset is of a +single population as all subjects whose eye images are part of this dataset are +Indians. + +The dataset is divided into two: a training set and a testing set of images. +Training images (50) are provided with groundtruths for OD and Cup segmentation +and notching information. + +* Reference (including train/test split): [DRISHTIGS1-2014]_ +* Original resolution (height x width): varying (min: 1749 x 2045, max: 1845 x + 2468) +* Configuration resolution: 1760 x 2048 (after center cropping) +* Protocols ``optic-disc`` and ``optic-cup``: + * Training: 50 + * Test: 51 +""" + +import os +import pkg_resources + +import bob.extension + +from ..jsondataset import JSONDataset +from ..loader import load_pil_rgb, load_pil_1 + +_protocols = { + "optic-disc-all": pkg_resources.resource_filename(__name__, "optic-disc.json"), + "optic-cup-all": pkg_resources.resource_filename(__name__, "optic-cup.json"), + "optic-disc-any": pkg_resources.resource_filename(__name__, "optic-disc.json"), + "optic-cup-any": pkg_resources.resource_filename(__name__, "optic-cup.json"), + } + +_root_path = bob.extension.rc.get('bob.ip.binseg.drishtigs1.datadir', + os.path.realpath(os.curdir)) + +def _loader(context, sample): + retval = dict( + data=load_pil_rgb(sample["data"]), + label=load_pil_rgb(sample["label"]).convert("L"), + ) + # Drishti-GS provides softmaps of multiple annotators + # we threshold to get gt where all/any of the annotators overlap + if context["protocol"].endswith("-all"): + retval["label"] = retval["label"].point(lambda p: p>254, mode="1") + elif context["protocol"].endswith("-any"): + retval["label"] = retval["label"].point(lambda p: p>0, mode="1") + else: + raise RuntimeError(f"Unknown protocol {context['protocol']}") + return retval + +dataset = JSONDataset(protocols=_protocols, root_path=_root_path, loader=_loader) +"""Drishti-GS1 dataset object""" diff --git a/bob/ip/binseg/data/drishtigs1/optic-cup.json b/bob/ip/binseg/data/drishtigs1/optic-cup.json new file mode 100644 index 0000000000000000000000000000000000000000..e543e5b60b7a09b0da7f6136a1d452039c308550 --- /dev/null +++ b/bob/ip/binseg/data/drishtigs1/optic-cup.json @@ -0,0 +1,410 @@ +{ + "train": [ + [ + "Drishti-GS1_files/Training/Images/drishtiGS_002.png", + "Drishti-GS1_files/Training/GT/drishtiGS_002/SoftMap/drishtiGS_002_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_004.png", + "Drishti-GS1_files/Training/GT/drishtiGS_004/SoftMap/drishtiGS_004_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_008.png", + "Drishti-GS1_files/Training/GT/drishtiGS_008/SoftMap/drishtiGS_008_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_010.png", + "Drishti-GS1_files/Training/GT/drishtiGS_010/SoftMap/drishtiGS_010_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_012.png", + "Drishti-GS1_files/Training/GT/drishtiGS_012/SoftMap/drishtiGS_012_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_015.png", + "Drishti-GS1_files/Training/GT/drishtiGS_015/SoftMap/drishtiGS_015_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_016.png", + "Drishti-GS1_files/Training/GT/drishtiGS_016/SoftMap/drishtiGS_016_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_017.png", + "Drishti-GS1_files/Training/GT/drishtiGS_017/SoftMap/drishtiGS_017_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_018.png", + "Drishti-GS1_files/Training/GT/drishtiGS_018/SoftMap/drishtiGS_018_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_022.png", + "Drishti-GS1_files/Training/GT/drishtiGS_022/SoftMap/drishtiGS_022_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_024.png", + "Drishti-GS1_files/Training/GT/drishtiGS_024/SoftMap/drishtiGS_024_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_026.png", + "Drishti-GS1_files/Training/GT/drishtiGS_026/SoftMap/drishtiGS_026_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_031.png", + "Drishti-GS1_files/Training/GT/drishtiGS_031/SoftMap/drishtiGS_031_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_032.png", + "Drishti-GS1_files/Training/GT/drishtiGS_032/SoftMap/drishtiGS_032_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_033.png", + "Drishti-GS1_files/Training/GT/drishtiGS_033/SoftMap/drishtiGS_033_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_035.png", + "Drishti-GS1_files/Training/GT/drishtiGS_035/SoftMap/drishtiGS_035_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_036.png", + "Drishti-GS1_files/Training/GT/drishtiGS_036/SoftMap/drishtiGS_036_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_037.png", + "Drishti-GS1_files/Training/GT/drishtiGS_037/SoftMap/drishtiGS_037_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_038.png", + "Drishti-GS1_files/Training/GT/drishtiGS_038/SoftMap/drishtiGS_038_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_040.png", + "Drishti-GS1_files/Training/GT/drishtiGS_040/SoftMap/drishtiGS_040_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_041.png", + "Drishti-GS1_files/Training/GT/drishtiGS_041/SoftMap/drishtiGS_041_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_042.png", + "Drishti-GS1_files/Training/GT/drishtiGS_042/SoftMap/drishtiGS_042_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_044.png", + "Drishti-GS1_files/Training/GT/drishtiGS_044/SoftMap/drishtiGS_044_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_045.png", + "Drishti-GS1_files/Training/GT/drishtiGS_045/SoftMap/drishtiGS_045_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_046.png", + "Drishti-GS1_files/Training/GT/drishtiGS_046/SoftMap/drishtiGS_046_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_047.png", + "Drishti-GS1_files/Training/GT/drishtiGS_047/SoftMap/drishtiGS_047_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_049.png", + "Drishti-GS1_files/Training/GT/drishtiGS_049/SoftMap/drishtiGS_049_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_051.png", + "Drishti-GS1_files/Training/GT/drishtiGS_051/SoftMap/drishtiGS_051_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_057.png", + "Drishti-GS1_files/Training/GT/drishtiGS_057/SoftMap/drishtiGS_057_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_058.png", + "Drishti-GS1_files/Training/GT/drishtiGS_058/SoftMap/drishtiGS_058_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_060.png", + "Drishti-GS1_files/Training/GT/drishtiGS_060/SoftMap/drishtiGS_060_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_061.png", + "Drishti-GS1_files/Training/GT/drishtiGS_061/SoftMap/drishtiGS_061_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_062.png", + "Drishti-GS1_files/Training/GT/drishtiGS_062/SoftMap/drishtiGS_062_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_063.png", + "Drishti-GS1_files/Training/GT/drishtiGS_063/SoftMap/drishtiGS_063_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_064.png", + "Drishti-GS1_files/Training/GT/drishtiGS_064/SoftMap/drishtiGS_064_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_066.png", + "Drishti-GS1_files/Training/GT/drishtiGS_066/SoftMap/drishtiGS_066_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_068.png", + "Drishti-GS1_files/Training/GT/drishtiGS_068/SoftMap/drishtiGS_068_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_069.png", + "Drishti-GS1_files/Training/GT/drishtiGS_069/SoftMap/drishtiGS_069_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_075.png", + "Drishti-GS1_files/Training/GT/drishtiGS_075/SoftMap/drishtiGS_075_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_076.png", + "Drishti-GS1_files/Training/GT/drishtiGS_076/SoftMap/drishtiGS_076_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_080.png", + "Drishti-GS1_files/Training/GT/drishtiGS_080/SoftMap/drishtiGS_080_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_081.png", + "Drishti-GS1_files/Training/GT/drishtiGS_081/SoftMap/drishtiGS_081_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_084.png", + "Drishti-GS1_files/Training/GT/drishtiGS_084/SoftMap/drishtiGS_084_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_088.png", + "Drishti-GS1_files/Training/GT/drishtiGS_088/SoftMap/drishtiGS_088_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_089.png", + "Drishti-GS1_files/Training/GT/drishtiGS_089/SoftMap/drishtiGS_089_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_090.png", + "Drishti-GS1_files/Training/GT/drishtiGS_090/SoftMap/drishtiGS_090_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_092.png", + "Drishti-GS1_files/Training/GT/drishtiGS_092/SoftMap/drishtiGS_092_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_094.png", + "Drishti-GS1_files/Training/GT/drishtiGS_094/SoftMap/drishtiGS_094_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_098.png", + "Drishti-GS1_files/Training/GT/drishtiGS_098/SoftMap/drishtiGS_098_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_101.png", + "Drishti-GS1_files/Training/GT/drishtiGS_101/SoftMap/drishtiGS_101_cupsegSoftmap.png" + ] + ], + "test": [ + [ + "Drishti-GS1_files/Test/Images/drishtiGS_001.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_001/SoftMap/drishtiGS_001_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_003.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_003/SoftMap/drishtiGS_003_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_005.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_005/SoftMap/drishtiGS_005_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_006.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_006/SoftMap/drishtiGS_006_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_007.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_007/SoftMap/drishtiGS_007_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_009.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_009/SoftMap/drishtiGS_009_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_011.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_011/SoftMap/drishtiGS_011_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_013.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_013/SoftMap/drishtiGS_013_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_014.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_014/SoftMap/drishtiGS_014_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_019.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_019/SoftMap/drishtiGS_019_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_020.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_020/SoftMap/drishtiGS_020_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_021.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_021/SoftMap/drishtiGS_021_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_023.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_023/SoftMap/drishtiGS_023_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_025.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_025/SoftMap/drishtiGS_025_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_027.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_027/SoftMap/drishtiGS_027_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_028.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_028/SoftMap/drishtiGS_028_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_029.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_029/SoftMap/drishtiGS_029_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_030.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_030/SoftMap/drishtiGS_030_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_034.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_034/SoftMap/drishtiGS_034_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_039.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_039/SoftMap/drishtiGS_039_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_043.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_043/SoftMap/drishtiGS_043_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_048.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_048/SoftMap/drishtiGS_048_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_050.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_050/SoftMap/drishtiGS_050_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_052.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_052/SoftMap/drishtiGS_052_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_053.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_053/SoftMap/drishtiGS_053_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_054.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_054/SoftMap/drishtiGS_054_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_055.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_055/SoftMap/drishtiGS_055_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_056.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_056/SoftMap/drishtiGS_056_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_059.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_059/SoftMap/drishtiGS_059_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_065.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_065/SoftMap/drishtiGS_065_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_067.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_067/SoftMap/drishtiGS_067_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_070.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_070/SoftMap/drishtiGS_070_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_071.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_071/SoftMap/drishtiGS_071_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_072.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_072/SoftMap/drishtiGS_072_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_073.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_073/SoftMap/drishtiGS_073_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_074.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_074/SoftMap/drishtiGS_074_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_077.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_077/SoftMap/drishtiGS_077_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_078.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_078/SoftMap/drishtiGS_078_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_079.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_079/SoftMap/drishtiGS_079_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_082.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_082/SoftMap/drishtiGS_082_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_083.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_083/SoftMap/drishtiGS_083_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_085.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_085/SoftMap/drishtiGS_085_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_086.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_086/SoftMap/drishtiGS_086_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_087.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_087/SoftMap/drishtiGS_087_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_091.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_091/SoftMap/drishtiGS_091_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_093.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_093/SoftMap/drishtiGS_093_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_095.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_095/SoftMap/drishtiGS_095_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_096.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_096/SoftMap/drishtiGS_096_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_097.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_097/SoftMap/drishtiGS_097_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_099.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_099/SoftMap/drishtiGS_099_cupsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_100.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_100/SoftMap/drishtiGS_100_cupsegSoftmap.png" + ] + ] +} \ No newline at end of file diff --git a/bob/ip/binseg/data/drishtigs1/optic-disc.json b/bob/ip/binseg/data/drishtigs1/optic-disc.json new file mode 100644 index 0000000000000000000000000000000000000000..250e839833d03fd54efd62fdda942677c0844081 --- /dev/null +++ b/bob/ip/binseg/data/drishtigs1/optic-disc.json @@ -0,0 +1,410 @@ +{ + "train": [ + [ + "Drishti-GS1_files/Training/Images/drishtiGS_002.png", + "Drishti-GS1_files/Training/GT/drishtiGS_002/SoftMap/drishtiGS_002_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_004.png", + "Drishti-GS1_files/Training/GT/drishtiGS_004/SoftMap/drishtiGS_004_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_008.png", + "Drishti-GS1_files/Training/GT/drishtiGS_008/SoftMap/drishtiGS_008_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_010.png", + "Drishti-GS1_files/Training/GT/drishtiGS_010/SoftMap/drishtiGS_010_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_012.png", + "Drishti-GS1_files/Training/GT/drishtiGS_012/SoftMap/drishtiGS_012_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_015.png", + "Drishti-GS1_files/Training/GT/drishtiGS_015/SoftMap/drishtiGS_015_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_016.png", + "Drishti-GS1_files/Training/GT/drishtiGS_016/SoftMap/drishtiGS_016_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_017.png", + "Drishti-GS1_files/Training/GT/drishtiGS_017/SoftMap/drishtiGS_017_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_018.png", + "Drishti-GS1_files/Training/GT/drishtiGS_018/SoftMap/drishtiGS_018_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_022.png", + "Drishti-GS1_files/Training/GT/drishtiGS_022/SoftMap/drishtiGS_022_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_024.png", + "Drishti-GS1_files/Training/GT/drishtiGS_024/SoftMap/drishtiGS_024_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_026.png", + "Drishti-GS1_files/Training/GT/drishtiGS_026/SoftMap/drishtiGS_026_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_031.png", + "Drishti-GS1_files/Training/GT/drishtiGS_031/SoftMap/drishtiGS_031_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_032.png", + "Drishti-GS1_files/Training/GT/drishtiGS_032/SoftMap/drishtiGS_032_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_033.png", + "Drishti-GS1_files/Training/GT/drishtiGS_033/SoftMap/drishtiGS_033_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_035.png", + "Drishti-GS1_files/Training/GT/drishtiGS_035/SoftMap/drishtiGS_035_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_036.png", + "Drishti-GS1_files/Training/GT/drishtiGS_036/SoftMap/drishtiGS_036_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_037.png", + "Drishti-GS1_files/Training/GT/drishtiGS_037/SoftMap/drishtiGS_037_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_038.png", + "Drishti-GS1_files/Training/GT/drishtiGS_038/SoftMap/drishtiGS_038_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_040.png", + "Drishti-GS1_files/Training/GT/drishtiGS_040/SoftMap/drishtiGS_040_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_041.png", + "Drishti-GS1_files/Training/GT/drishtiGS_041/SoftMap/drishtiGS_041_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_042.png", + "Drishti-GS1_files/Training/GT/drishtiGS_042/SoftMap/drishtiGS_042_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_044.png", + "Drishti-GS1_files/Training/GT/drishtiGS_044/SoftMap/drishtiGS_044_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_045.png", + "Drishti-GS1_files/Training/GT/drishtiGS_045/SoftMap/drishtiGS_045_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_046.png", + "Drishti-GS1_files/Training/GT/drishtiGS_046/SoftMap/drishtiGS_046_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_047.png", + "Drishti-GS1_files/Training/GT/drishtiGS_047/SoftMap/drishtiGS_047_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_049.png", + "Drishti-GS1_files/Training/GT/drishtiGS_049/SoftMap/drishtiGS_049_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_051.png", + "Drishti-GS1_files/Training/GT/drishtiGS_051/SoftMap/drishtiGS_051_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_057.png", + "Drishti-GS1_files/Training/GT/drishtiGS_057/SoftMap/drishtiGS_057_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_058.png", + "Drishti-GS1_files/Training/GT/drishtiGS_058/SoftMap/drishtiGS_058_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_060.png", + "Drishti-GS1_files/Training/GT/drishtiGS_060/SoftMap/drishtiGS_060_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_061.png", + "Drishti-GS1_files/Training/GT/drishtiGS_061/SoftMap/drishtiGS_061_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_062.png", + "Drishti-GS1_files/Training/GT/drishtiGS_062/SoftMap/drishtiGS_062_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_063.png", + "Drishti-GS1_files/Training/GT/drishtiGS_063/SoftMap/drishtiGS_063_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_064.png", + "Drishti-GS1_files/Training/GT/drishtiGS_064/SoftMap/drishtiGS_064_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_066.png", + "Drishti-GS1_files/Training/GT/drishtiGS_066/SoftMap/drishtiGS_066_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_068.png", + "Drishti-GS1_files/Training/GT/drishtiGS_068/SoftMap/drishtiGS_068_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_069.png", + "Drishti-GS1_files/Training/GT/drishtiGS_069/SoftMap/drishtiGS_069_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_075.png", + "Drishti-GS1_files/Training/GT/drishtiGS_075/SoftMap/drishtiGS_075_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_076.png", + "Drishti-GS1_files/Training/GT/drishtiGS_076/SoftMap/drishtiGS_076_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_080.png", + "Drishti-GS1_files/Training/GT/drishtiGS_080/SoftMap/drishtiGS_080_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_081.png", + "Drishti-GS1_files/Training/GT/drishtiGS_081/SoftMap/drishtiGS_081_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_084.png", + "Drishti-GS1_files/Training/GT/drishtiGS_084/SoftMap/drishtiGS_084_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_088.png", + "Drishti-GS1_files/Training/GT/drishtiGS_088/SoftMap/drishtiGS_088_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_089.png", + "Drishti-GS1_files/Training/GT/drishtiGS_089/SoftMap/drishtiGS_089_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_090.png", + "Drishti-GS1_files/Training/GT/drishtiGS_090/SoftMap/drishtiGS_090_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_092.png", + "Drishti-GS1_files/Training/GT/drishtiGS_092/SoftMap/drishtiGS_092_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_094.png", + "Drishti-GS1_files/Training/GT/drishtiGS_094/SoftMap/drishtiGS_094_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_098.png", + "Drishti-GS1_files/Training/GT/drishtiGS_098/SoftMap/drishtiGS_098_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Training/Images/drishtiGS_101.png", + "Drishti-GS1_files/Training/GT/drishtiGS_101/SoftMap/drishtiGS_101_ODsegSoftmap.png" + ] + ], + "test": [ + [ + "Drishti-GS1_files/Test/Images/drishtiGS_001.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_001/SoftMap/drishtiGS_001_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_003.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_003/SoftMap/drishtiGS_003_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_005.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_005/SoftMap/drishtiGS_005_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_006.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_006/SoftMap/drishtiGS_006_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_007.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_007/SoftMap/drishtiGS_007_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_009.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_009/SoftMap/drishtiGS_009_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_011.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_011/SoftMap/drishtiGS_011_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_013.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_013/SoftMap/drishtiGS_013_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_014.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_014/SoftMap/drishtiGS_014_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_019.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_019/SoftMap/drishtiGS_019_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_020.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_020/SoftMap/drishtiGS_020_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_021.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_021/SoftMap/drishtiGS_021_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_023.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_023/SoftMap/drishtiGS_023_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_025.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_025/SoftMap/drishtiGS_025_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_027.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_027/SoftMap/drishtiGS_027_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_028.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_028/SoftMap/drishtiGS_028_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_029.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_029/SoftMap/drishtiGS_029_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_030.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_030/SoftMap/drishtiGS_030_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_034.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_034/SoftMap/drishtiGS_034_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_039.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_039/SoftMap/drishtiGS_039_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_043.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_043/SoftMap/drishtiGS_043_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_048.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_048/SoftMap/drishtiGS_048_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_050.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_050/SoftMap/drishtiGS_050_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_052.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_052/SoftMap/drishtiGS_052_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_053.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_053/SoftMap/drishtiGS_053_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_054.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_054/SoftMap/drishtiGS_054_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_055.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_055/SoftMap/drishtiGS_055_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_056.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_056/SoftMap/drishtiGS_056_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_059.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_059/SoftMap/drishtiGS_059_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_065.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_065/SoftMap/drishtiGS_065_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_067.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_067/SoftMap/drishtiGS_067_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_070.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_070/SoftMap/drishtiGS_070_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_071.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_071/SoftMap/drishtiGS_071_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_072.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_072/SoftMap/drishtiGS_072_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_073.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_073/SoftMap/drishtiGS_073_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_074.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_074/SoftMap/drishtiGS_074_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_077.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_077/SoftMap/drishtiGS_077_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_078.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_078/SoftMap/drishtiGS_078_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_079.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_079/SoftMap/drishtiGS_079_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_082.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_082/SoftMap/drishtiGS_082_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_083.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_083/SoftMap/drishtiGS_083_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_085.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_085/SoftMap/drishtiGS_085_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_086.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_086/SoftMap/drishtiGS_086_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_087.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_087/SoftMap/drishtiGS_087_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_091.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_091/SoftMap/drishtiGS_091_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_093.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_093/SoftMap/drishtiGS_093_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_095.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_095/SoftMap/drishtiGS_095_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_096.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_096/SoftMap/drishtiGS_096_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_097.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_097/SoftMap/drishtiGS_097_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_099.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_099/SoftMap/drishtiGS_099_ODsegSoftmap.png" + ], + [ + "Drishti-GS1_files/Test/Images/drishtiGS_100.png", + "Drishti-GS1_files/Test/Test_GT/drishtiGS_100/SoftMap/drishtiGS_100_ODsegSoftmap.png" + ] + ] +} \ No newline at end of file diff --git a/bob/ip/binseg/data/drishtigs1/test.py b/bob/ip/binseg/data/drishtigs1/test.py new file mode 100644 index 0000000000000000000000000000000000000000..4873a97e3c8000523a9190411970c69e75589146 --- /dev/null +++ b/bob/ip/binseg/data/drishtigs1/test.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python +# coding=utf-8 + + +"""Tests for Drishti-GS1""" + +import os + +import numpy +import nose.tools +from nose.plugins.attrib import attr + +from . import dataset +from ...test.utils import rc_variable_set + + +def test_protocol_consistency(): + + for protocol in ("optic-disc-all", "optic-cup-all", "optic-disc-any", + "optic-cup-any"): + + subset = dataset.subsets(protocol) + nose.tools.eq_(len(subset), 2) + + assert "train" in subset + nose.tools.eq_(len(subset["train"]), 50) + for s in subset["train"]: + assert s.key.startswith(os.path.join("Drishti-GS1_files", + "Training", "Images", "drishtiGS_")) + + assert "test" in subset + nose.tools.eq_(len(subset["test"]), 51) + for s in subset["test"]: + assert s.key.startswith(os.path.join("Drishti-GS1_files", + "Test", "Images", "drishtiGS_")) + + +@rc_variable_set("bob.ip.binseg.drishtigs1.datadir") +@attr("slow") +def test_loading(): + + from ..utils import count_bw + + def _check_sample(s, bw_threshold_label): + + data = s.data + assert isinstance(data, dict) + nose.tools.eq_(len(data), 2) + + assert "data" in data + assert data["data"].size[0] > 2040, ( + f"Width ({data['data'].size[0]}) for {s.key} is smaller " + f"than 2040 pixels" + ) + assert data["data"].size[1] > 1740, ( + f"Width ({data['data'].size[1]}) for {s.key} is smaller " + f"than 1740 pixels" + ) + nose.tools.eq_(data["data"].mode, "RGB") + + assert "label" in data + #nose.tools.eq_(data["label"].size, image_size) + nose.tools.eq_(data["data"].size, data["label"].size) + nose.tools.eq_(data["label"].mode, "1") + b, w = count_bw(data["label"]) + assert (b + w) == numpy.prod(data["data"].size), ( + f"Counts of black + white ({b}+{w}) do not add up to total " + f"image size ({numpy.prod(image_size)}) at '{s.key}':label" + ) + assert (w / b) < bw_threshold_label, ( + f"The proportion between black and white pixels " + f"({w}/{b}={w/b:.3f}) is larger than the allowed threshold " + f"of {bw_threshold_label} at '{s.key}':label - this could " + f"indicate a loading problem!" + ) + + # to visualize images, uncomment the folowing code + # it should display an image with a faded background representing the + # original data, blended with green labels. + #print(f"{s.key}: {data['data'].size}, w/b = {w/b:.3f}") + #from ..utils import overlayed_image + #display = overlayed_image(data["data"], data["label"]) + #display.show() + #import ipdb; ipdb.set_trace() + #pass + + subset = dataset.subsets("optic-cup-all") + limit = None + for s in subset["train"][:limit]: + _check_sample(s, 0.03) + for s in subset["test"][:limit]: + _check_sample(s, 0.04) + + subset = dataset.subsets("optic-disc-all") + for s in subset["train"][:limit]: + _check_sample(s, 0.05) + for s in subset["test"][:limit]: + _check_sample(s, 0.06) + + subset = dataset.subsets("optic-cup-any") + for s in subset["train"][:limit]: + _check_sample(s, 0.04) + for s in subset["test"][:limit]: + _check_sample(s, 0.05) + + subset = dataset.subsets("optic-disc-any") + for s in subset["train"][:limit]: + _check_sample(s, 0.055) + for s in subset["test"][:limit]: + _check_sample(s, 0.06) + + +@rc_variable_set("bob.ip.binseg.drishtigs1.datadir") +@attr("slow") +def test_check(): + nose.tools.eq_(dataset.check(), 0) diff --git a/bob/ip/binseg/test/test_config.py b/bob/ip/binseg/test/test_config.py index 24f5f2c6f283e9b1a6f6062b9371b907a39b36a7..28983f08c2cb19b1050ce77f40eb94408457d6fc 100644 --- a/bob/ip/binseg/test/test_config.py +++ b/bob/ip/binseg/test/test_config.py @@ -217,3 +217,59 @@ def test_refuge_optic_cup_test(): nose.tools.eq_(sample[1].dtype, torch.float32) nose.tools.eq_(sample[2].shape, (1, 1632, 1632)) #planes, height, width nose.tools.eq_(sample[2].dtype, torch.float32) + + +@rc_variable_set("bob.ip.binseg.drishtigs1.datadir") +def test_drishtigs1_optic_disc_all_train(): + + from ..configs.datasets.dristhigs1_od import dataset + nose.tools.eq_(len(dataset), 50) + for sample in dataset: + nose.tools.eq_(len(sample), 3) + assert isinstance(sample[0], str) + nose.tools.eq_(sample[1].shape, (3, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[1].dtype, torch.float32) + nose.tools.eq_(sample[2].shape, (1, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[2].dtype, torch.float32) + + +@rc_variable_set("bob.ip.binseg.drishtigs1.datadir") +def test_drishtigs1_optic_disc_all_test(): + + from ..configs.datasets.dristhigs1_od_test import dataset + nose.tools.eq_(len(dataset), 51) + for sample in dataset: + nose.tools.eq_(len(sample), 3) + assert isinstance(sample[0], str) + nose.tools.eq_(sample[1].shape, (3, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[1].dtype, torch.float32) + nose.tools.eq_(sample[2].shape, (1, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[2].dtype, torch.float32) + + +@rc_variable_set("bob.ip.binseg.drishtigs1.datadir") +def test_drishtigs1_optic_cup_all_train(): + + from ..configs.datasets.dristhigs1_cup import dataset + nose.tools.eq_(len(dataset), 50) + for sample in dataset: + nose.tools.eq_(len(sample), 3) + assert isinstance(sample[0], str) + nose.tools.eq_(sample[1].shape, (3, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[1].dtype, torch.float32) + nose.tools.eq_(sample[2].shape, (1, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[2].dtype, torch.float32) + + +@rc_variable_set("bob.ip.binseg.drishtigs1.datadir") +def test_drishtigs1_optic_cup_all_test(): + + from ..configs.datasets.dristhigs1_cup_test import dataset + nose.tools.eq_(len(dataset), 51) + for sample in dataset: + nose.tools.eq_(len(sample), 3) + assert isinstance(sample[0], str) + nose.tools.eq_(sample[1].shape, (3, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[1].dtype, torch.float32) + nose.tools.eq_(sample[2].shape, (1, 1760, 2048)) #planes, height, width + nose.tools.eq_(sample[2].dtype, torch.float32) diff --git a/conda/meta.yaml b/conda/meta.yaml index 4c9dbfa39356a3d9a6d10b29410493eddaeb03bc..f8e8db1c68f34b9a4ef37d13b51537b5944c9c75 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -61,7 +61,6 @@ test: - sphinxcontrib-programoutput - bob.db.drionsdb - bob.db.rimoner3 - - bob.db.drishtigs1 about: summary: Binary Segmentation Benchmark Package for Bob diff --git a/doc/api.rst b/doc/api.rst index 84b50c5b50080b2fc6624dd341241fda0430d952..fae023f1c8b70ca6b3118f18f9574671d2bddf2b 100644 --- a/doc/api.rst +++ b/doc/api.rst @@ -37,6 +37,7 @@ Datasets bob.ip.binseg.data.hrf bob.ip.binseg.data.iostar bob.ip.binseg.data.refuge + bob.ip.binseg.data.drishtigs1 Engines