Skip to content

Commit cd4cccc

Browse files
author
Carole Sudre
committed
updating cldice test based on figure 2.14
1 parent 3615135 commit cd4cccc

1 file changed

Lines changed: 71 additions & 9 deletions

File tree

test/test_metrics/test_pairwise_measures.py

Lines changed: 71 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@
3838
ppm210_1 = PM(pred210_1, ref210)
3939
ppm210_2 = PM(pred210_2, ref210)
4040

41+
#Data for figure 2.12 p53
42+
ref212 = np.zeros([22, 22])
43+
ref212[2:21, 2:21] = 1
44+
pred212 = np.zeros([22, 22])
45+
pred212[3:21, 2:21] = 1
46+
ppm212_1 = PM(pred212, ref212)
47+
ppm212_2 = PM(pred212,ref212,dict_args={'boundary_dist':2})
4148

4249
### Small size of structures relative to pixel/voxel size (DSC)
4350
## Larger structure
@@ -70,6 +77,45 @@
7077
f27_ref2 = f27_pred1
7178
f27_pred2 = f27_ref1
7279

80+
# Figure ClDice p 53 S2.14
81+
ref214 = np.zeros([24,24])
82+
ref214[1:10,7:12]=1
83+
ref214[10:12,3:19]=1
84+
ref214[12:15,3:5]=1
85+
ref214[12:15,15:19]=1
86+
ref214[14:20,15:17]=1
87+
ref214[14:15,1:5]=1
88+
ref214[14:17,2:3]=1
89+
ref214[14:19,4:5]=1
90+
ref214[17:18,4:8]=1
91+
ref214[14:15,15:24]=1
92+
ref214[12:15,22:23]=1
93+
ref214[14:17,21:22]=1
94+
ref214[17:20,5:6]=1
95+
ref214[17:22,12:13]=1
96+
ref214[19:20,12:17]=1
97+
ref214[18:19,15:20]=1
98+
ref214[17,19]=1
99+
100+
pred214_1 = np.zeros([24,24])
101+
pred214_1[1:10,7:12]=1
102+
pred214_1[10:12,3:15]=1
103+
104+
pred214_2 = np.copy(ref214)
105+
pred214_2[10:14,3:4] = 0
106+
pred214_2[10:11,3:9] = 0
107+
pred214_2[10:11,10:19] = 0
108+
pred214_2[1:11,7:9] = 0
109+
pred214_2[1:11,10:12]=0
110+
pred214_2[10:14,18:19]=0
111+
pred214_2[12:14,15:17]=0
112+
pred214_2[14:19,15:16]=0
113+
114+
ppm214_1 = PM(pred214_1, ref214)
115+
ppm214_2 = PM(pred214_2, ref214)
116+
117+
118+
73119
# panoptic quality
74120
pq_pred1 = np.zeros([21, 21])
75121
pq_pred1[5:7, 2:5] = 1
@@ -790,16 +836,32 @@ def test_hd():
790836

791837

792838
def test_boundary_iou():
793-
f21_ref = np.zeros([22, 22])
794-
f21_ref[2:21, 2:21] = 1
795-
f21_pred = np.zeros([22, 22])
796-
f21_pred[3:21, 2:21] = 1
797-
bpm = PM(f21_pred, f21_ref)
798-
value_test = bpm.boundary_iou()
799-
expected_biou = 0.6
800-
assert_allclose(value_test, expected_biou, atol=0.1)
801-
assert np.round(value_test, 1) == 0.6
839+
"""
840+
Taking as inspiration figure S 2.12
841+
"""
842+
843+
value_test1 = ppm212_1.boundary_iou()
844+
expected_biou_1 = 0.6
845+
expected_biou_2 = 0.8
846+
value_test2 = ppm212_2.boundary_iou()
847+
assert_allclose(value_test1, expected_biou_1, atol=0.1)
848+
assert_allclose(value_test2, expected_biou_2, atol=0.1)
849+
850+
def test_cldsc_s214():
851+
value_test1 = ppm214_1.centreline_dsc()
852+
value_test2 = ppm214_2.centreline_dsc()
853+
expected_cldsc1 = 0.475
854+
expected_cldsc2 = 0.78
855+
assert_allclose(value_test1, expected_cldsc1, atol=0.01)
856+
assert_allclose(value_test2, expected_cldsc2, atol=0.01)
802857

858+
def test_dsc_s214():
859+
value_test1 = ppm214_1.dsc()
860+
value_test2 = ppm214_2.dsc()
861+
expected_dsc1 = 0.666
862+
expected_dsc2 = 0.685
863+
assert_allclose(value_test1, expected_dsc1, atol=0.01)
864+
assert_allclose(value_test2, expected_dsc2, atol=0.01)
803865

804866
def test_cldsc():
805867
pm1 = PM(pred_clDice_small1, ref_clDice_small)

0 commit comments

Comments
 (0)