Spaces:
Sleeping
Sleeping
Download utils/utils.py from mecxlan/Fyp_MriBraTS: direct link, hf CLI and curl.
- Browser
- Download file 1.09 kB
-
https://huggingface.co/spaces/mecxlan/Fyp_MriBraTS/resolve/main/utils/utils.py
- Command line
-
hf download hf://spaces/mecxlan/Fyp_MriBraTS/utils/utils.py
-
curl -L -o utils.py https://huggingface.co/spaces/mecxlan/Fyp_MriBraTS/resolve/main/utils/utils.py
1.09 kB
| import cv2 | |
| import numpy as np | |
| from tensorflow.keras import backend as K | |
| def preprocess_image(image, target_size=(256, 256)): | |
| image = np.array(image) | |
| image = cv2.resize(image, target_size) | |
| image = image / 255.0 | |
| return image | |
| def postprocess_prediction(prediction, threshold=0.5): | |
| mask = (prediction > threshold).astype(np.float32) | |
| return mask | |
| def dice_coef(y_true, y_pred, smooth=1): | |
| y_true_f = K.flatten(y_true) | |
| y_pred_f = K.flatten(y_pred) | |
| intersection = K.sum(y_true_f * y_pred_f) | |
| return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth) | |
| def dice_loss(y_true, y_pred): | |
| return 1 - dice_coef(y_true, y_pred) | |
| def overlay_segmentation(original_image, segmentation_mask): | |
| segmentation_mask = cv2.resize(segmentation_mask, (original_image.shape[1], original_image.shape[0])) | |
| segmentation_mask_colored = np.zeros_like(original_image) | |
| segmentation_mask_colored[:, :, 0] = segmentation_mask.squeeze() * 255 | |
| overlay = cv2.addWeighted(original_image, 0.7, segmentation_mask_colored, 0.3, 0) | |
| return overlay | |