Skip to content

Commit dfb01ad

Browse files
perf(oversegment): significantly faster oversegment operation
1 parent 976fe7f commit dfb01ad

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

kimimaro/utility.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,13 @@ def oversegment_helper(skel, binimg, roi):
626626
vertices = (skel.vertices / anisotropy).round().astype(int)
627627
vertices -= roi.minpt
628628

629-
feature_map[binimg] += next_label
629+
# Fortran order efficient version of:
630+
# feature_map[binimg] += next_label
631+
632+
flat_binary_image = binimg.ravel('F')
633+
flat_feature_map = feature_map.ravel('F')
634+
flat_feature_map[flat_binary_image] += next_label
635+
630636
skel.segments = feature_map[vertices[:,0], vertices[:,1], vertices[:,2]]
631637
next_label += vertices.shape[0]
632638
all_features[roi.to_slices()] += feature_map

0 commit comments

Comments
 (0)