66import csv
77import os
88import sys
9- import math
109import pandas as pd
11- import random
12- import GeodisTK
13- import configparser
1410import numpy as np
1511from scipy import ndimage
1612from pymic .io .image_read_write import *
@@ -90,7 +86,7 @@ def get_edge_points(img):
9086 strt = ndimage .generate_binary_structure (2 ,1 )
9187 else :
9288 strt = ndimage .generate_binary_structure (3 ,1 )
93- ero = ndimage .morphology . binary_erosion (img , strt )
89+ ero = ndimage .binary_erosion (img , strt )
9490 edge = np .asarray (img , np .uint8 ) - np .asarray (ero , np .uint8 )
9591 return edge
9692
@@ -114,14 +110,9 @@ def binary_hd95(s, g, spacing = None):
114110 spacing = [1.0 ] * image_dim
115111 else :
116112 assert (image_dim == len (spacing ))
117- img = np .zeros_like (s )
118- if (image_dim == 2 ):
119- s_dis = GeodisTK .geodesic2d_raster_scan (img , s_edge , 0.0 , 2 )
120- g_dis = GeodisTK .geodesic2d_raster_scan (img , g_edge , 0.0 , 2 )
121- elif (image_dim == 3 ):
122- s_dis = GeodisTK .geodesic3d_raster_scan (img , s_edge , spacing , 0.0 , 2 )
123- g_dis = GeodisTK .geodesic3d_raster_scan (img , g_edge , spacing , 0.0 , 2 )
124-
113+ s_dis = ndimage .distance_transform_edt (1 - s_edge , sampling = spacing )
114+ g_dis = ndimage .distance_transform_edt (1 - g_edge , sampling = spacing )
115+
125116 dist_list1 = s_dis [g_edge > 0 ]
126117 dist_list1 = sorted (dist_list1 )
127118 dist1 = dist_list1 [int (len (dist_list1 )* 0.95 )]
@@ -150,13 +141,8 @@ def binary_assd(s, g, spacing = None):
150141 spacing = [1.0 ] * image_dim
151142 else :
152143 assert (image_dim == len (spacing ))
153- img = np .zeros_like (s )
154- if (image_dim == 2 ):
155- s_dis = GeodisTK .geodesic2d_raster_scan (img , s_edge , 0.0 , 2 )
156- g_dis = GeodisTK .geodesic2d_raster_scan (img , g_edge , 0.0 , 2 )
157- elif (image_dim == 3 ):
158- s_dis = GeodisTK .geodesic3d_raster_scan (img , s_edge , spacing , 0.0 , 2 )
159- g_dis = GeodisTK .geodesic3d_raster_scan (img , g_edge , spacing , 0.0 , 2 )
144+ s_dis = ndimage .distance_transform_edt (1 - s_edge , sampling = spacing )
145+ g_dis = ndimage .distance_transform_edt (1 - g_edge , sampling = spacing )
160146
161147 ns = s_edge .sum ()
162148 ng = g_edge .sum ()
0 commit comments