| from torch.utils.data import Dataset
|
| import pandas as pd
|
| import cv2 as cv
|
| import os
|
| from config import config
|
| import torch
|
| import numpy as np
|
|
|
|
|
| class mySingleDataset(Dataset):
|
| def __init__(self, filelist, img_dir, transform=None):
|
| self.img_dir = img_dir
|
| self.transform = transform
|
| self.filelist = pd.read_csv(filelist, sep="\t", header=None)
|
|
|
| def __len__(self):
|
| return len(self.filelist)
|
|
|
| def __getitem__(self, idx):
|
| img_path = self.img_dir
|
|
|
| file = self.filelist.iloc[idx, 0]
|
| image = cv.imread(os.path.join(img_path, file))
|
|
|
| if self.transform:
|
| image = self.transform(image)
|
| return image, file
|
|
|
|
|
| class myDataset(Dataset):
|
| def __init__(self, filelist, cxr_dir, bs_dir,
|
| transform=None):
|
| self.cxr_dir = cxr_dir
|
| self.bs_dir = bs_dir
|
|
|
| self.transform = transform
|
| self.filelist = pd.read_csv(filelist, sep="\t", header=None)
|
|
|
| def __len__(self):
|
| return len(self.filelist)
|
|
|
| def __getitem__(self, idx):
|
| file = self.filelist.iloc[idx, 0]
|
| cxr = cv.imread(os.path.join(self.cxr_dir, file))
|
| bs = cv.imread(os.path.join(self.bs_dir, file))
|
|
|
| if self.transform:
|
| cxr = self.transform(cxr)
|
| bs = self.transform(bs)
|
|
|
| return cxr, bs, file
|
|
|
| class myC2BDataset(Dataset):
|
| def __init__(self, filelist, cxr_dir, masked_cxr_dir,
|
| transform=None):
|
| self.cxr_dir = cxr_dir
|
| self.masked_cxr_dir = masked_cxr_dir
|
|
|
| self.transform = transform
|
| self.filelist = pd.read_csv(filelist, sep="\t", header=None)
|
|
|
| def __len__(self):
|
| return len(self.filelist)
|
|
|
| def __getitem__(self, idx):
|
| file = self.filelist.iloc[idx, 0]
|
| cxr = cv.imread(os.path.join(self.cxr_dir, file))
|
| masked_cxr = cv.imread(os.path.join(self.masked_cxr_dir, file))
|
|
|
| if self.transform:
|
| cxr = self.transform(cxr)
|
| masked_cxr = self.transform(masked_cxr)
|
|
|
| return cxr, masked_cxr, file |