From bc37480d9c9605540895cf40658751f6f66670e0 Mon Sep 17 00:00:00 2001 From: Jingnan-Jia Date: Tue, 16 Jul 2024 11:11:50 +0200 Subject: [PATCH] Fix the error of volume similarity sign --- seg_metrics/seg_metrics.py | 14 +++++++++----- setup.py | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/seg_metrics/seg_metrics.py b/seg_metrics/seg_metrics.py index ae849db..3aace6c 100644 --- a/seg_metrics/seg_metrics.py +++ b/seg_metrics/seg_metrics.py @@ -112,10 +112,14 @@ def computeQualityMeasures(lP: np.ndarray, fnr = fn / (fn + tp) - - - dicecomputer = sitk.LabelOverlapMeasuresImageFilter() - dicecomputer.Execute(labelTrue > 0.5, labelPred > 0.5) + v_pred = np.sum(labelPred > 0.5) + v_gdth = np.sum(labelTrue > 0.5) + if v_pred + v_gdth == 0: # prediction results and ground truth are all 0 + vs = 0 + else: + vs = 2 * (v_pred - v_gdth) / (v_pred + v_gdth) + # dicecomputer = sitk.LabelOverlapMeasuresImageFilter() + # dicecomputer.Execute(labelPred > 0.5, labelTrue > 0.5) quality["dice"] = dice quality["jaccard"] = jaccard @@ -123,7 +127,7 @@ def computeQualityMeasures(lP: np.ndarray, quality["recall"] = recall quality["fnr"] = fnr quality["fpr"] = fpr - quality["vs"] = dicecomputer.GetVolumeSimilarity() + quality["vs"] = vs quality["TP"] = tp quality["TN"] = tn diff --git a/setup.py b/setup.py index 4dd320e..55fc80d 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ setuptools.setup( name="seg_metrics", # Replace with your own username - version="1.2.7", + version="1.2.8", author="Jingnan Jia", author_email="jiajingnan2222@gmail.com", description="A package to compute different segmentation metrics for 2D/3D medical images.",