CellPilot / SAMHI /samhi /data_processing /data_fetching.py
philippendres's picture
Upload folder using huggingface_hub
907462b verified
Raw
History Blame Contribute Delete
27.2 kB
import os
import numpy as np
class DataFetcher:
def __init__(self, data_directory, cluster):
self.data_directory = data_directory
self.cluster = cluster
def len_bcss(self):
return len(os.listdir(os.path.join(self.data_directory, 'BCSS/0_Public-data-Amgad2019_0.25MPP', 'masks')))
def len_camelyon(self):
self.cam_len = [len(os.listdir(os.path.join(self.data_directory, 'CAMELYON/CAMELYON16/images/'))),
len(os.listdir(os.path.join(self.data_directory, 'CAMELYON/CAMELYON17/images/')))]
return self.cam_len[0] + self.cam_len[1]
def len_cellseg(self):
self.cellseg_len = [
len(os.listdir(os.path.join(self.data_directory, 'CellSeg/NeurIPS22-CellSeg', 'Testing/Hidden/images/'))),
len(os.listdir(os.path.join(self.data_directory, 'CellSeg/NeurIPS22-CellSeg', 'Testing/Public/images/'))),
len(os.listdir(os.path.join(self.data_directory, 'CellSeg/NeurIPS22-CellSeg', 'Training/images/'))),
len(os.listdir(os.path.join(self.data_directory, 'CellSeg/NeurIPS22-CellSeg', 'Tuning/images/')))
]
return sum(self.cellseg_len)
def len_cocahis(self):
return 82
def len_conic(self):
return len(os.listdir(os.path.join(self.data_directory, 'CoNIC/labels_png/')))
def len_cpm(self):
self.cpm_len = [len(os.listdir(os.path.join(self.data_directory, 'CPM_15_and_17/cpm15/Labels_png/'))),
len(os.listdir(os.path.join(self.data_directory, 'CPM_15_and_17/cpm17/test/Labels_png/'))),
len(os.listdir(os.path.join(self.data_directory, 'CPM_15_and_17/cpm17/train/Labels_png/')))]
return self.cpm_len[0] + self.cpm_len[1] + self.cpm_len[2]
def len_crag(self):
self.crag_len = [len(os.listdir(os.path.join(self.data_directory, 'CRAG/cell_CRAG/train2017/labels/'))),
len(os.listdir(os.path.join(self.data_directory, 'CRAG/cell_CRAG/val2017/labels/')))]
return self.crag_len[0] + self.crag_len[1]
def len_cryonuseg(self):
return 30
def len_glas(self):
return 60 + 20 + 85
def len_icia2018(self):
return 10
def len_janowczyk(self):
return 141
def len_kpi(self):
if self.cluster != "denbi":
data_directories = [os.path.join(self.data_directory, 'KPI/', 'Task1_patch_level/data'), os.path.join(self.data_directory, 'KPI/', 'val/Task1_patch_level/data')]
else:
data_directories = [os.path.join(self.data_directory, 'KPI/', 'KPIs24 Training Data/Task1_patch_level/data'), os.path.join(self.data_directory, 'KPI/', 'KPIs24 Validation Data/Task1_patch_level/data')]
arr_length = 2
for (i0, data_directory) in enumerate(data_directories):
dir_list = sorted(os.listdir(data_directory))
arr_length += len(dir_list)
for (i1, d1) in enumerate(dir_list):
subdir_list = sorted(os.listdir(os.path.join(data_directory, d1)))
arr_length += len(subdir_list)
pointer = np.zeros(arr_length, dtype=int)
length = np.zeros(arr_length, dtype=int)
pointer[0] = len(data_directories)
len_last_dir_list = 0
len_last_subdir_list = 0
for (i0, data_directory) in enumerate(data_directories):
dir_list = sorted(os.listdir(data_directory))
len_last_dir_list = len(dir_list)
pointer[pointer[i0]] = pointer[i0] + len_last_dir_list
for (i1, d1) in enumerate(dir_list):
subdir_list = sorted(os.listdir(os.path.join(data_directory, d1)))
len_last_subdir_list = len(subdir_list)
for (i2, d2) in enumerate(subdir_list):
file_list = os.listdir(os.path.join(data_directory, d1, d2,'img'))
length[pointer[pointer[i0] + i1] + i2] = len(file_list)
length[pointer[i0] + i1] += len(file_list)
length[i0] += len(file_list)
if i1 < len(dir_list) - 1:
pointer[pointer[i0] + i1 + 1] = pointer[pointer[i0] + i1] + len(subdir_list)
if i0 < len(data_directories) - 1:
pointer[i0 + 1] = pointer[pointer[i0] + len_last_dir_list - 1] + len_last_subdir_list
self.pointer = pointer
self.length = length
# pointer = array([ 2, 36, 6, 11, 16, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 42, 44, 46, 0, 0, 0, 0, 0, 0, 0, 0])
# length = array([5214, 1643, 558, 607, 2263, 1786, 92, 96, 141, 86, 143, 135, 134, 71, 129, 138, 143, 187, 166, 146, 133, 111, 156, 177, 152, 147, 150, 93, 156, 218, 128, 358, 390, 313, 370, 355, 274, 299, 209, 861, 144, 130, 182, 117, 106, 103, 415, 446])
return self.length[0] + self.length[1]
def len_kumar(self):
self.kumar_len = [len(os.listdir(os.path.join(self.data_directory, 'Kumar', 'train/Labels_png'))),
len(os.listdir(os.path.join(self.data_directory, 'Kumar', 'test_same/Labels_png'))),
len(os.listdir(os.path.join(self.data_directory, 'Kumar', 'test_diff/Labels_png')))]
return self.kumar_len[0] + self.kumar_len[1] + self.kumar_len[2]
def len_monusac(self):
return len(os.listdir(os.path.join(self.data_directory, 'MoNuSAC/masks/')))
def len_monuseg(self):
return 37
def len_nuclick(self):
return 1213 + 250 + 462 + 150
def len_paip2023(self):
return 50 + 50 + 3 + 3
def len_pannuke(self):
return 2656 #7466
def len_segpath(self):
return 10647 + 26509 + 24805 + 12273 + 14135 + 13231 + 25909 + 31178
def len_segpc(self):
return 298 + 199
def len_tiger(self):
return 1879
def len_tnbc(self):
return 7 + 3 + 5 + 8 + 4 + 3 + 3 + 4 + 6 + 4 + 3
def len_wsss4luad(self):
return 40
def get_cpm(self, idx):
data_directory = os.path.join(self.data_directory, 'CPM_15_and_17/')
if idx < self.cpm_len[0]:
mask_names = os.listdir(data_directory + 'cpm15/Labels_png/')
image_name = data_directory + 'cpm15/Images/' + mask_names[idx][:8] + ".png"
mask_name = data_directory + 'cpm15/Labels_png/' + mask_names[idx]
elif idx < self.cpm_len[0] + self.cpm_len[1]:
mask_names = os.listdir(data_directory + 'cpm17/test/Labels_png/')
image_name = data_directory + 'cpm17/test/Images/' + mask_names[idx-self.cpm_len[0]][:8] + ".png"
mask_name = data_directory + 'cpm17/test/Labels_png/' + mask_names[idx-self.cpm_len[0]]
else:
mask_names = os.listdir(data_directory + 'cpm17/train/Labels_png/')
image_name = data_directory + 'cpm17/train/Images/' + mask_names[idx-self.cpm_len[0]-self.cpm_len[1]][:8] + ".png"
mask_name = data_directory + 'cpm17/train/Labels_png/' + mask_names[idx-self.cpm_len[0]-self.cpm_len[1]]
return image_name, mask_name
def get_bcss(self, idx):
data_directory = os.path.join(self.data_directory, 'BCSS/0_Public-data-Amgad2019_0.25MPP/')
if self.cluster != "denbi":
mask_names = os.listdir(data_directory + 'masks/')
image_name = data_directory + 'rgbs_colorNormalized/' + mask_names[idx]
mask_name = data_directory + 'masks/' + mask_names[idx]
else:
image_names = os.listdir(data_directory + 'images/')
image_name = data_directory + 'images/' + image_names[idx]
mask_name = data_directory + 'masks/' + image_names[idx]
return image_name, mask_name
def get_camelyon(self, idx):
if idx < self.cam_len[0]:
data_directory = os.path.join(self.data_directory, 'CAMELYON/CAMELYON16/')
else:
data_directory = os.path.join(self.data_directory, 'CAMELYON/CAMELYON17/')
idx -= self.cam_len[0]
image_names = os.listdir(data_directory + 'images/')
image_name = data_directory + 'images/' + image_names[idx]
mask_name = data_directory + 'masks/' + image_names[idx][:-4] + '_mask.tif'
return image_name, mask_name
def get_cellseg(self, idx):
data_directory = os.path.join(self.data_directory, 'CellSeg/NeurIPS22-CellSeg/')
if idx < self.cellseg_len[0]:
image_names = os.listdir(data_directory + 'Testing/Hidden/images/')
image_name = data_directory + 'Testing/Hidden/images/' + image_names[idx]
mask_name = data_directory + 'Testing/Hidden/osilab_seg/' + image_names[idx][:14] + '_label.tiff'
elif idx < self.cellseg_len[0] + self.cellseg_len[1]:
image_names = os.listdir(data_directory + 'Testing/Public/images/')
image_name = data_directory + 'Testing/Public/images/' + image_names[idx-self.cellseg_len[0]]
mask_name = data_directory + 'Testing/Public/labels/' + image_names[idx-self.cellseg_len[0]][:12] + '_label.tiff'
elif idx < self.cellseg_len[0] + self.cellseg_len[1] + self.cellseg_len[2]:
image_names = os.listdir(data_directory + 'Training/images/')
image_name = data_directory + 'Training/images/' + image_names[idx-self.cellseg_len[0]-self.cellseg_len[1]]
mask_name = data_directory + 'Training/labels/' + image_names[idx-self.cellseg_len[0]-self.cellseg_len[1]][:10] + '_label.tiff'
else:
image_names = os.listdir(data_directory + 'Tuning/images/')
image_name = data_directory + 'Tuning/images/' + image_names[idx-self.cellseg_len[0]-self.cellseg_len[1]-self.cellseg_len[2]]
mask_name = data_directory + 'Tuning/labels/' + image_names[idx-self.cellseg_len[0]-self.cellseg_len[1]-self.cellseg_len[2]][:10] + '_label.tiff'
return image_name, mask_name
def get_cocahis(self, idx):
data_directory = os.path.join(self.data_directory, 'CoCaHis/')
#image_names = os.listdir(data_directory + 'images/')
image_name = data_directory + 'images/' + "HE_raw_" + str(idx) + ".png"
if self.cluster != "denbi":
mask_name = data_directory + 'GT/' + "GT_GT_majority_vote_" + str(idx) + ".png"
else:
mask_name = data_directory + 'labels/' + 'GT_GT_majority_vote_' + str(idx) + ".png"
return image_name, mask_name
def get_conic(self, idx):
data_directory = os.path.join(self.data_directory, 'CoNIC/')
mask_names = os.listdir(data_directory + 'labels_png/')
image_name = data_directory + 'images_png/' + mask_names[idx][:4] + ".png"
mask_name = data_directory + 'labels_png/' + mask_names[idx]
return image_name, mask_name
def get_crag(self, idx):
data_directory = os.path.join(self.data_directory, "CRAG/cell_CRAG/")
if idx < self.crag_len[0]:
mask_names = os.listdir(data_directory + 'train2017/labels/')
image_name = data_directory + 'train2017/' + mask_names[idx]
mask_name = data_directory + 'train2017/labels/' + mask_names[idx]
else:
mask_names = os.listdir(data_directory + 'val2017/labels/')
image_name = data_directory + 'val2017/' + mask_names[idx-self.crag_len[0]]
mask_name = data_directory + 'val2017/labels/' + mask_names[idx-self.crag_len[0]]
return image_name, mask_name
def get_cryonuseg(self, idx):
data_directory = os.path.join(self.data_directory, 'CryoNuSeg/')
image_names = os.listdir(data_directory + 'tissue images/')
image_name = data_directory + 'tissue images/' + image_names[idx]
mask_name = data_directory + 'Annotator 1 (biologist second round of manual marks up)/Annotator 1 (biologist second round of manual marks up)/label masks modify/' + image_names[idx]
return image_name, mask_name
def get_glas(self, idx):
data_directory = os.path.join(self.data_directory, 'GlaS/Warwick_QU_Dataset/')
if idx < 60:
image_name = data_directory + 'testA_' + str(idx + 1) + '.bmp'
mask_name = data_directory + 'testA_' + str(idx + 1) + '_anno.bmp'
elif idx < 60 + 20:
image_name = data_directory + 'testB_' + str(idx - 59) + '.bmp'
mask_name = data_directory + 'testB_' + str (idx - 59) + '_anno.bmp'
else:
image_name = data_directory + 'train_' + str(idx - 79) + '.bmp'
mask_name = data_directory + 'train_' + str(idx - 79) + '_anno.bmp'
return image_name, mask_name
def get_icia2018(self, idx):
data_directory = os.path.join(self.data_directory, 'ICIA2018/ICIAR2018_BACH_Challenge/WSI/')
image_name = data_directory + 'A' + str(idx + 1).zfill(2) + '.svs'
mask_name = data_directory + 'A' + str(idx + 1).zfill(2) + '.npy'
return image_name, mask_name
def get_janowczyk(self, idx):
data_directory = os.path.join(self.data_directory, 'Janowczyk/')
if self.cluster != "denbi":
names = os.listdir(data_directory)
image_names = [n for n in names if "original" in n]
image_names.sort()
image_name = data_directory + image_names[idx]
mask_name = data_directory + image_names[idx][:-12] + 'mask.png'
else:
image_names = os.listdir(data_directory + "images/")
image_names.sort()
image_name = data_directory + "images/" + image_names[idx]
mask_name = data_directory + "masks/" + image_names[idx][:-12] + 'mask.png'
return image_name, mask_name
def get_kpi(self, idx):
if self.cluster != "denbi":
data_directories = [os.path.join(self.data_directory, 'KPI/', 'Task1_patch_level/data'), os.path.join(self.data_directory, 'KPI/', 'val/Task1_patch_level/data')]
else:
data_directories = [os.path.join(self.data_directory, 'KPI/', "KPIs24 Training Data/Task1_patch_level/data"), os.path.join(self.data_directory, 'KPI/', "KPIs24 Validation Data/Task1_patch_level/data")]
position = 0
if idx < self.length[0]:
data_directory = data_directories[0]
position = self.pointer[0]
else:
data_directory = data_directories[1]
idx -= self.length[0]
position = self.pointer[1]
dir_list = sorted(os.listdir(data_directory))
for (i1, d1) in enumerate(dir_list):
if idx < self.length[position + i1]:
position = self.pointer[position + i1]
subdir_list = sorted(os.listdir(os.path.join(data_directory, d1)))
for (i2, d2) in enumerate(subdir_list):
if idx < self.length[position + i2]:
file_list = sorted(os.listdir(os.path.join(data_directory, d1, d2,'img')))
image_name = os.path.join(data_directory, d1, d2, 'img', file_list[idx])
mask_name = os.path.join(data_directory, d1, d2, 'mask', file_list[idx].replace('img', 'mask'))
return image_name, mask_name
else:
idx -= self.length[position + i2]
else:
idx -= self.length[position + i1]
def get_kumar(self, idx):
data_directory = os.path.join(self.data_directory, 'Kumar/')
if idx < self.kumar_len[0]:
mask_names = os.listdir(data_directory + 'train/Labels_png/')
image_name = data_directory + 'train/Images/' + mask_names[idx][:23] + ".tif"
mask_name = data_directory + 'train/Labels_png/' + mask_names[idx]
elif idx < self.kumar_len[0] + self.kumar_len[1]:
mask_names = os.listdir(data_directory + 'test_same/Labels_png/')
image_name = data_directory + 'test_same/Images/' + mask_names[idx-self.kumar_len[0]][:23] + ".tif"
mask_name = data_directory + 'test_same/Labels_png/' + mask_names[idx-self.kumar_len[0]]
else:
mask_names = os.listdir(data_directory + 'test_diff/Labels_png/')
image_name = data_directory + 'test_diff/Images/' + mask_names[idx-self.kumar_len[0]-self.kumar_len[1]][:23] + ".tif"
mask_name = data_directory + 'test_diff/Labels_png/' + mask_names[idx-self.kumar_len[0]-self.kumar_len[1]]
return image_name, mask_name
def get_monusac(self, idx):
data_directory = os.path.join(self.data_directory, 'MoNuSAC/')
mask_names = os.listdir(data_directory + 'masks/')
mask_name = data_directory + 'masks/' + mask_names[idx]
types = ["Epithelial", "Lymphocyte", "Macrophage", "Neutrophil"]
image_name = data_directory + 'images/' + mask_names[idx]
for t in types:
if mask_names[idx].endswith(t + '.png'):
image_name = data_directory + 'images/' + mask_names[idx][:-len(t)-5]
if os.path.exists(image_name + '.tif'):
image_name += '.tif'
else:
image_name += '.png'
break
return image_name, mask_name
def get_monuseg(self, idx):
data_directory = os.path.join(self.data_directory, 'MoNuSeg/MoNuSeg 2018 Training Data/')
mask_names = os.listdir(data_directory + 'Masks/')
mask_name = data_directory + 'Masks/' + mask_names[idx]
image_name = data_directory + 'Tissue Images/' + mask_names[idx][:23] + '.tif'
return image_name, mask_name
def get_nuclick(self, idx):
data_directory = os.path.join(self.data_directory, 'NuClick/')
if idx < 1213:
mask_names = os.listdir(data_directory + 'Hemato_Data/Train/masks/')
image_name = data_directory + 'Hemato_Data/Train/images/' + mask_names[idx][:-9] + ".png"
mask_name = data_directory + 'Hemato_Data/Train/masks/' + mask_names[idx]
elif idx < 1213 + 250:
mask_names = os.listdir(data_directory + 'Hemato_Data/Validation/masks/')
image_name = data_directory + 'Hemato_Data/Validation/images/' + mask_names[idx-1213][:-9] + ".png"
mask_name = data_directory + 'Hemato_Data/Validation/masks/' + mask_names[idx-1213]
elif idx < 1213 + 250 + 462:
mask_names = os.listdir(data_directory + 'IHC_nuclick/IHC/masks_png/Train/')
image_name = data_directory + 'IHC_nuclick/IHC/images/Train/' + mask_names[idx-1213-250]
mask_name = data_directory + 'IHC_nuclick/IHC/masks_png/Train/' + mask_names[idx-1213-250]
else:
mask_names = os.listdir(data_directory + 'IHC_nuclick/IHC/masks_png/Validation/')
image_name = data_directory + 'IHC_nuclick/IHC/images/Validation/' + mask_names[idx-1213-250-462]
mask_name = data_directory + 'IHC_nuclick/IHC/masks_png/Validation/' + mask_names[idx-1213-250-462]
return image_name, mask_name
def get_paip2023(self, idx):
data_directory = os.path.join(self.data_directory, 'PAIP2023/')
if idx < 50:
image_name = data_directory + 'tr_p' + str(idx + 1).zfill(3) + '.png'
mask_name = data_directory + "non_tumor/" + 'tr_p' + str(idx + 1).zfill(3) + '_nontumor.png'
elif idx < 50 + 50:
image_name = data_directory + 'tr_p' + str(idx - 50 + 1).zfill(3) + '.png'
mask_name = data_directory + "tumor/" + 'tr_p' + str(idx - 50 + 1).zfill(3) + '_tumor.png'
elif idx < 50 + 50 + 3:
image_name = data_directory + 'tr_c' + str(idx - 100 + 1).zfill(3) + '.png'
mask_name = data_directory + "non_tumor/" + 'tr_c' + str(idx -100 + 1).zfill(3) + '_nontumor.png'
else:
image_name = data_directory + 'tr_c' + str(idx - 103 + 1).zfill(3) + '.png'
mask_name = data_directory + "tumor/" + 'tr_c' + str(idx -103 + 1).zfill(3) + '_tumor.png'
return image_name, mask_name
def get_pannuke(self, idx):
data_directory = os.path.join(self.data_directory, 'PanNuke/')
image_name = data_directory + 'images_png/' + str(idx).zfill(4) + ".png"
mask_name = data_directory + 'masks_png/' + str(idx).zfill(4) + ".png"
return image_name, mask_name
def get_segpath(self, idx):
data_directory = os.path.join(self.data_directory, 'SegPath/')
if idx < 10647:
image_and_mask_names = os.listdir(data_directory + 'endothelial_cells/ERG_Endothelium/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'endothelial_cells/ERG_Endothelium/' + image_names[idx]
mask_name = data_directory + 'endothelial_cells/ERG_Endothelium/' + image_names[idx][:-6] + 'mask.png'
elif idx < 10647 + 26509:
image_and_mask_names = os.listdir(data_directory + 'epithelial_cells/panCK_Epithelium/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'epithelial_cells/panCK_Epithelium/' + image_names[idx-10647]
mask_name = data_directory + 'epithelial_cells/panCK_Epithelium/' + image_names[idx-10647][:-6] + 'mask.png'
elif idx < 10647 + 26509 + 24805:
image_and_mask_names = os.listdir(data_directory + 'leukocytes/CD45RB_Leukocyte/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'leukocytes/CD45RB_Leukocyte/' + image_names[idx-10647-26509]
mask_name = data_directory + 'leukocytes/CD45RB_Leukocyte/' + image_names[idx-10647-26509][:-6] + 'mask.png'
elif idx < 10647 + 26509 + 24805 + 12273:
image_and_mask_names = os.listdir(data_directory + 'lymphocytes/CD3CD20_Lymphocyte/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'lymphocytes/CD3CD20_Lymphocyte/' + image_names[idx-10647-26509-24805]
mask_name = data_directory + 'lymphocytes/CD3CD20_Lymphocyte/' + image_names[idx-10647-26509-24805][:-6] + 'mask.png'
elif idx < 10647 + 26509 + 24805 + 12273 + 14135:
image_and_mask_names = os.listdir(data_directory + 'myeloid_cells/MNDA_MyeloidCell/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'myeloid_cells/MNDA_MyeloidCell/' + image_names[idx-10647-26509-24805-12273]
mask_name = data_directory + 'myeloid_cells/MNDA_MyeloidCell/' + image_names[idx-10647-26509-24805-12273][:-6] + 'mask.png'
elif idx < 10647 + 26509 + 24805 + 12273 + 14135 + 13231:
image_and_mask_names = os.listdir(data_directory + 'plasma_cells/MIST1_PlasmaCell/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'plasma_cells/MIST1_PlasmaCell/' + image_names[idx-10647-26509-24805-12273-14135]
mask_name = data_directory + 'plasma_cells/MIST1_PlasmaCell/' + image_names[idx-10647-26509-24805-12273-14135][:-6] + 'mask.png'
elif idx < 10647 + 26509 + 24805 + 12273 + 14135 + 13231 + 25909:
image_and_mask_names = os.listdir(data_directory + 'red_blood_cells/CD235a_RBC/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'red_blood_cells/CD235a_RBC/' + image_names[idx-10647-26509-24805-12273-14135-13231]
mask_name = data_directory + 'red_blood_cells/CD235a_RBC/' + image_names[idx-10647-26509-24805-12273-14135-13231][:-6] + 'mask.png'
else:
image_and_mask_names = os.listdir(data_directory + 'smooth_muscle_cells/aSMA_SmoothMuscle/')
image_names = [x for x in image_and_mask_names if "HE" in x]
image_name = data_directory + 'smooth_muscle_cells/aSMA_SmoothMuscle/' + image_names[idx-10647-26509-24805-12273-14135-13231-25909]
mask_name = data_directory + 'smooth_muscle_cells/aSMA_SmoothMuscle/' + image_names[idx-10647-26509-24805-12273-14135-13231-25909][:-6] + 'mask.png'
return image_name, mask_name
def get_segpc(self, idx):
data_directory = os.path.join(self.data_directory, 'SegPC/TCIA_SegPC_dataset/')
if idx < 298:
mask_names = os.listdir(data_directory + 'train/masks_png/')
image_name = data_directory + 'train/x/' + mask_names[idx][:-4] + ".bmp"
mask_name = data_directory + 'train/masks_png/' + mask_names[idx]
else:
mask_names = os.listdir(data_directory + 'validation/masks_png/')
image_name = data_directory + 'validation/x/' + mask_names[idx-298][:-4] + ".bmp"
mask_name = data_directory + 'validation/masks_png/' + mask_names[idx-298]
return image_name, mask_name
def get_tiger(self, idx):
data_directory = os.path.join(self.data_directory, 'TIGER/wsirois/roi-level-annotations/tissue-cells/')
image_names = os.listdir(data_directory + 'images/')
image_name = data_directory + 'images/' + image_names[idx]
mask_name = data_directory + 'masks/' + image_names[idx]
return image_name, mask_name
def get_tnbc(self, idx):
if self.cluster == "denbi":
data_directory = os.path.join(self.data_directory, 'TNBC/TNBC_NucleiSegmentation/')
else:
data_directory = os.path.join(self.data_directory, 'TNBC/TNBC_dataset/')
bucket = 1
idx = idx + 1
if idx > 7:
bucket += 1
idx -= 7
if idx > 3:
bucket += 1
idx -= 3
if idx > 5:
bucket += 1
idx -= 5
if idx > 8:
bucket += 1
idx -= 8
if idx > 4:
bucket += 1
idx -= 4
if idx > 3:
bucket += 1
idx -= 3
if idx > 3:
bucket += 1
idx -= 3
if idx > 4:
bucket += 1
idx -= 4
if idx > 6:
bucket += 1
idx -= 6
if idx > 4:
bucket += 1
idx -= 4
image_name = data_directory + 'Slide_' + str(bucket).zfill(2) + '/' + str(bucket).zfill(2) + '_' + str(idx) + '.png'
mask_name = data_directory + 'GT_' + str(bucket).zfill(2) + '/' + str(bucket).zfill(2) + '_' + str(idx) + '.png'
return image_name, mask_name