@@ -198,6 +198,8 @@ def per_segment_radii(
198198 std_r = np .full (n , np .nan , dtype = np .float64 )
199199 min_r = np .full (n , np .nan , dtype = np .float64 )
200200 max_r = np .full (n , np .nan , dtype = np .float64 )
201+ volume = np .full (n , np .nan , dtype = np .float64 )
202+ surface_area = np .full (n , np .nan , dtype = np .float64 )
201203
202204 for i in range (n ):
203205 coords = graph .path_coordinates (i )
@@ -208,6 +210,8 @@ def per_segment_radii(
208210 std_r [i ] = np .std (radii )
209211 min_r [i ] = np .min (radii )
210212 max_r [i ] = np .max (radii )
213+ volume [i ] = np .pi * float (np .sum (radii ** 2 ))
214+ surface_area [i ] = 2.0 * np .pi * float (np .sum (radii ))
211215
212216 return {
213217 "mean_radius" : mean_r ,
@@ -218,6 +222,8 @@ def per_segment_radii(
218222 "std_diameter" : 2.0 * std_r ,
219223 "min_diameter" : 2.0 * min_r ,
220224 "max_diameter" : 2.0 * max_r ,
225+ "volume" : volume ,
226+ "surface_area" : surface_area ,
221227 }
222228
223229
@@ -254,6 +260,8 @@ def build_vessel_graph(skeleton: np.ndarray) -> Skeleton:
254260 "max_diameter" : 0.0 ,
255261 "vessel_area" : 0.0 ,
256262 "vessel_area_fraction" : 0.0 ,
263+ "mean_segment_volume" : 0.0 ,
264+ "mean_surface_area" : 0.0 ,
257265}
258266
259267
@@ -367,6 +375,8 @@ def extract_vessel_features(
367375 "std_diameter" : 0.0 ,
368376 "min_diameter" : 0.0 ,
369377 "max_diameter" : 0.0 ,
378+ "mean_segment_volume" : 0.0 ,
379+ "mean_surface_area" : 0.0 ,
370380 }
371381
372382 return {
0 commit comments