def segmentation_stats_gf1(pred_seg, target): n_classes = pred_seg.size(1) pred_lbls = pred_seg.data.max(1)[1].cpu().numpy() gt = np.squeeze(target.data.cpu().numpy()) gts, preds = [], [] for gt_, pred_ in zip(gt, pred_lbls): gts.append(gt_) preds.append(pred_) iou = segmentation_scores_gf1(gts, preds, n_class=n_classes) dice = dice_score_list(gts, preds, n_class=n_classes) return iou,dice
def segmentation_stats(pred_seg, target): n_classes = pred_seg.size(1) pred_lbls = pred_seg.data.max(1)[1].cpu().numpy() gt = np.squeeze(target.data.cpu().numpy(), axis=1) gts, preds = [], [] for gt_, pred_ in zip(gt, pred_lbls): gts.append(gt_) preds.append(pred_) iou = segmentation_scores(gts, preds, n_class=n_classes) dice = dice_score_list(gts, preds, n_class=n_classes) precision, recall = precision_and_recall(gts, preds, n_class=int(n_classes)) return iou, dice, precision, recall
def segmentation_stats(pred_seg, target): n_classes = pred_seg.size(1) pred_lbls = pred_seg.data.max(1)[1].cpu().numpy() #gt = np.squeeze(target.data.cpu().numpy(), axis=1) if target.size()[0] > 1: # Batch of size 1 gt = np.squeeze(target.data.cpu().numpy() ) #OS: previously raised an error for multimodal else: gt = target.data.cpu().numpy() gts, preds = [], [] for gt_, pred_ in zip(gt, pred_lbls): gts.append(gt_) preds.append(pred_) iou = segmentation_scores(gts, preds, n_class=n_classes) dice = dice_score_list(gts, preds, n_class=n_classes) return iou, dice
def segmentation_stats(prediction, target): n_classes = prediction.size(1) if n_classes == 1: pred_lbls = (torch.sigmoid(prediction) > 0.5)[0].int().cpu().numpy() n_unique_classes = n_classes + 1 else: pred_lbls = prediction.data.max(1)[1].cpu().numpy() n_unique_classes = n_classes gt = np.squeeze(target.data.cpu().numpy(), axis=1) gts, preds = [], [] for gt_, pred_ in zip(gt, pred_lbls): gts.append(gt_) preds.append(pred_) iou = segmentation_scores(gts, preds, n_class=n_unique_classes) class_wise_dice = dice_score_list(gts, preds, n_class=n_unique_classes) single_class_dice = single_class_dice_score(gts, preds) roc_auc_score = roc_auc(gts, preds) return iou, class_wise_dice, single_class_dice, roc_auc_score