def read_train_images(): train_data_path = os.path.join(DATA_PATH, 'train') images = list_images(train_data_path) total = int(len(images) / 2) patient_classes = np.ndarray(total, dtype=np.uint8) imgs = np.ndarray((total, IMG_ORIG_ROWS, IMG_ORIG_COLS), dtype=np.uint8) imgs_mask = np.ndarray((total, IMG_ORIG_ROWS, IMG_ORIG_COLS), dtype=np.uint8) print('Loading training images...') i = 0 for image_path in images: if 'mask' in image_path: continue image_name = os.path.basename(image_path) name = image_name.split('.')[0] patient_classes[i] = int(name.split('_')[0]) image_mask_name = name + '_mask.tif' imgs[i] = load_img(os.path.join(train_data_path, image_name), grayscale=True) imgs_mask[i] = load_img(os.path.join(train_data_path, image_mask_name), grayscale=True) if i % 100 == 0: print(f'Done: {i}/{total} images') i += 1 return patient_classes, imgs, imgs_mask
def __getitem__(self, index): tar_index = index % self.tar_size clean = torch.from_numpy( np.float32(load_img(self.clean_filenames[tar_index]))) noisy = torch.from_numpy( np.float32(load_img(self.noisy_filenames[tar_index]))) clean_filename = os.path.split(self.clean_filenames[tar_index])[-1] noisy_filename = os.path.split(self.noisy_filenames[tar_index])[-1] clean = clean.permute(2, 0, 1) noisy = noisy.permute(2, 0, 1) return clean, noisy, clean_filename, noisy_filename
def __getitem__(self, index): tar_index = index % self.rgb_size clean_filename = os.path.split(self.clean_filenames[tar_index])[-1] ## Load Images clean = np.float32(load_img(self.clean_filenames[tar_index])) noisy = np.float32(load_img(self.noisy_filenames[tar_index])) noisy = addWB(noisy, self.p) if self.transform is not None: clean, noisy = self.transform([clean, noisy]) return clean, noisy, clean_filename
def create_test_data(): train_data_path = os.path.join(DATA_PATH, 'test') images = os.listdir(train_data_path) total = len(images) imgs = np.ndarray((total, 1, IMG_ORIG_ROWS, IMG_ORIG_COLS), dtype=np.uint8) imgs_id = np.ndarray((total, ), dtype=np.int32) print('Creating test images...') i = 0 for image_path in images: image_name = os.path.basename(image_path) img_id = int(image_name.split('.')[0]) img = load_img(os.path.join(train_data_path, image_name), grayscale=True) img = np.array([img]) imgs[i] = img imgs_id[i] = img_id if i % 100 == 0: print(f'Done: {i}/{total} images') i += 1 # Build all data set print('Saving test samples...') imgs = imgs[np.argsort(imgs_id)] np.save(os.path.join(DATA_PATH, 'imgs_test.npy'), imgs) print('Saving to .npy files done.')
def __getitem__(self, index): tar_index = index % self.rgb_size clean_filename = os.path.split(self.clean_filenames[tar_index])[-1] noisy_filename = os.path.split(self.noisy_filenames[tar_index])[-1] clean_filename = re.sub(GT, "", clean_filename, flags=re.I) noisy_filename = re.sub(NOISY, "", noisy_filename, flags=re.I) ## Load Images clean = np.float32(load_img(self.clean_filenames[tar_index])) noisy = np.float32(load_img(self.noisy_filenames[tar_index])) if self.transform is not None: clean, noisy = self.transform([clean, noisy]) return clean, noisy, clean_filename, noisy_filename
def __getitem__(self, index): tar_index = index % self.tar_size LR = torch.from_numpy( np.float32(load_img(self.LR_filenames[tar_index]))) LR_filename = os.path.split(self.LR_filenames[tar_index])[-1] LR = LR.permute(2, 0, 1) return LR, LR_filename
def __getitem__(self, index): tar_index = index % self.tar_size target = np.float32(load_img(self.target_filenames[tar_index])) target = divisible_by(target, 16) tar_filename = os.path.split(self.target_filenames[tar_index])[-1] if self.transform: target = self.transform(target) target = torch.Tensor(target) target = target.permute(2, 0, 1) target = F.pad(target.unsqueeze(0), (self.pad, self.pad, self.pad, self.pad), mode='reflect') target = self.blur(target).squeeze(0) return target, tar_filename
def __getitem__(self, index): tar_index = index % self.tar_size target = np.float32(load_img(self.target_filenames[tar_index])) target = divisible_by(target, 16) tar_filename = os.path.split(self.target_filenames[tar_index])[-1] target = torch.Tensor(target) target = target.permute(2, 0, 1) target = F.pad(target.unsqueeze(0), (self.pad, self.pad, self.pad, self.pad), mode='reflect') target = self.blur(target).squeeze(0) padh = (MAX_SIZE - target.shape[1]) // 2 padw = (MAX_SIZE - target.shape[2]) // 2 target = F.pad(target.unsqueeze(0), (padw, padw, padh, padh), mode='constant').squeeze(0) return target, tar_filename, padh, padw