Example #1
0
    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
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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.')
Example #5
0
    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
Example #6
0
    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
Example #7
0
    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
Example #8
0
    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