Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import numpy as np | |
| from skimage import color, morphology | |
| from constant import PATH, TRAIN_CSV, VAL_CSV, TEST_CSV | |
| def get_chestxray_from_csv(): | |
| result = [] | |
| for f in [PATH/TRAIN_CSV, PATH/VAL_CSV, PATH/TEST_CSV]: | |
| df = pd.read_csv(f, sep=' ', header=None) | |
| images = df.iloc[:, 0].values | |
| labels = df.iloc[:, 1:].values | |
| result.append((images, labels)) | |
| return result | |
| def sigmoid_np(x): | |
| return 1. / (1. + np.exp(-x)) | |
| def blend_segmentation(image, mask, gt_mask=None, boundary=False, alpha=1): | |
| image = np.array(image) # Convert PIL Image to NumPy array | |
| w, h = image.shape[1], image.shape[0] | |
| color_mask = np.zeros((h, w, 3)) # PIL Image | |
| if boundary: mask = morphology.dilation(mask, morphology.disk(3)) - mask | |
| color_mask[mask==1] = [1, 0, 0] # RGB | |
| if gt_mask is not None: | |
| gt_boundary = morphology.dilation(gt_mask, morphology.disk(3)) - gt_mask | |
| color_mask[gt_boundary==1] = [0, 1, 0] # RGB | |
| image_hsv = color.rgb2hsv(image) | |
| color_mask_hsv = color.rgb2hsv(color_mask) | |
| image_hsv[..., 0] = color_mask_hsv[..., 0] | |
| image_hsv[..., 1] = color_mask_hsv[..., 1] * alpha | |
| return color.hsv2rgb(image_hsv) | |