Skip to content

Commit 3615135

Browse files
author
Carole Sudre
committed
Updating test distance to map figure 2.10
1 parent 2bb377f commit 3615135

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

MetricsReloaded/metrics/pairwise_measures.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,7 @@ def normalised_surface_distance(self):
11701170
if "nsd" in self.dict_args.keys():
11711171
tau = self.dict_args["nsd"]
11721172
else:
1173+
warnings.warn('No value set up for NSD tolerance - default to 1')
11731174
tau = 1
11741175
dist_ref, dist_pred, border_ref, border_pred = self.border_distance()
11751176
reg_ref = np.where(
@@ -1178,8 +1179,11 @@ def normalised_surface_distance(self):
11781179
reg_pred = np.where(
11791180
dist_pred <= tau, np.ones_like(dist_pred), np.zeros_like(dist_pred)
11801181
)
1182+
# print(np.sum(border_pred),np.sum(reg_ref),np.sum(border_ref),np.sum(reg_pred))
1183+
# print(np.sum(border_pred*reg_ref),np.sum(border_ref*reg_pred))
11811184
numerator = np.sum(border_pred * reg_ref) + np.sum(border_ref * reg_pred)
11821185
denominator = np.sum(border_ref) + np.sum(border_pred)
1186+
# print(numerator, denominator, tau)
11831187
return numerator / denominator
11841188

11851189
def measured_distance(self):

test/test_metrics/test_pairwise_measures.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,25 @@ def test_masd_s210():
751751
assert_allclose(masd_1,expected_masd1,atol=0.01)
752752
assert_allclose(masd_2,expected_masd2,atol=0.01)
753753

754+
def test_assd_s210():
755+
assd_1 = ppm210_1.measured_average_distance()
756+
assd_2 = ppm210_2.measured_average_distance()
757+
expected_assd1 = 1.10
758+
expected_assd2 = 1.05
759+
assert_allclose(assd_1, expected_assd1,atol=0.01)
760+
assert_allclose(assd_2, expected_assd2,atol=0.01)
754761

762+
def test_nsd_s210():
763+
"""
764+
Using Figure 2.10 as illustrative example
765+
"""
766+
nsd_1 = ppm210_1.normalised_surface_distance()
767+
nsd_2 = ppm210_2.normalised_surface_distance()
768+
expected_nsd1 = 0.75
769+
expected_nsd2 = 0.875
770+
print(nsd_1,nsd_2)
771+
assert_allclose(nsd_1,expected_nsd1,atol=0.01)
772+
assert_allclose(nsd_2,expected_nsd2,atol=0.01)
755773

756774
def test_hd():
757775
f20_ref = np.zeros([14, 14])

0 commit comments

Comments
 (0)