def gen_input_data(root_img, root_mask): img_list = glob(os.path.join(root_img, '*.jpg')) mask_list = glob(os.path.join(root_mask, '*.tif')) mask_list = [os.path.basename(i) for i in mask_list] img_list_exist = [] for i in img_list: if (os.path.basename(i).split('.')[0] + '_OD.tif') in mask_list: img_list_exist.append(i) for i in img_list_exist: img_file = i mask_file = os.path.join(root_mask, os.path.basename(i).split('.')[0] + '_OD.tif') img = scipy.misc.imread(img_file) img = img.astype(np.float32) img /= 255 img_crop, params = tight_crop_params(img) img_ahe = channelwise_ahe(img_crop) raw_img = Image.fromarray(skimage.util.img_as_ubyte(img_crop)) ahe_img = Image.fromarray(skimage.util.img_as_ubyte(img_ahe)) mask = Image.open(mask_file) scale_size = 512 pilImage_rescaled = scale_image(raw_img, scale_size) pilAHE_rescaled = scale_image(ahe_img, scale_size) pilMask_rescaled = scale_image_mask(mask, params, scale_size) image_basename = os.path.basename(i).split('.')[0] out_imagename = os.path.join(out_img, image_basename + '.png') out_ahename = os.path.join(out_ahe, image_basename + '_ahe.png') out_maskname = os.path.join(out_mask, image_basename + '_ahe_mask.png') pilImage_rescaled.save(out_imagename) print('save {}'.format(out_imagename)) pilAHE_rescaled.save(out_ahename) print('save {}'.format(out_ahename)) pilMask_rescaled.save(out_maskname) print('save {}'.format(out_maskname)) print('\n')
def crop_and_scale_imageandmask(img_file, mask_file, scale_size): img = scipy.misc.imread(img_file) img = img.astype(np.float32) img /= 255 img_crop, params = tight_crop_params(img) pilImage = Image.fromarray(skimage.util.img_as_ubyte(img_crop)) pilMask = Image.open(mask_file) pilImage_rescaled = scale_image(pilImage, scale_size) pilMask_rescaled = scale_image_mask(pilImage, scale_size) return pilImage_rescaled, pilMask_rescaled
root = '../../data/IDRID/IDRID 3/test' out_img = os.path.join(root, 'raw') out_ahe = os.path.join(root, 'ahe') os.makedirs(out_img, exist_ok=True) os.makedirs(out_ahe, exist_ok=True) root_img = '../../data/IDRID/IDRID 3/Training a and b' img_file = '../../data/IDRID/IDRID 3/Training c/IDRiD_01.jpg' img = scipy.misc.imread(img_file) img = img.astype(np.float32) img /= 255 img_crop, params = tight_crop_params(img) def scale_image(image, scale_size): w, h = image.size tw, th = (scale_size, scale_size) ratio_w = tw / w if ratio_w < 1: image = image.resize((tw, th), Image.CUBIC) elif ratio_w > 1: image = image.resize((tw, th), Image.CUBIC) return image def scale_image_mask(pil_img, params, scale_size): mask = pil_img.convert('RGB') np_mask = np.array(mask)