Skip to content

Commit 2d13285

Browse files
anna-grimanna-grim
andauthored
bug: fixed sorting issue and p_merged (#128)
Co-authored-by: anna-grim <[email protected]>
1 parent 087c399 commit 2d13285

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/segmentation_skeleton_metrics/skeleton_metric.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ def __init__(
141141
self.merge_sites = list()
142142

143143
row_names = list(self.graphs.keys())
144+
row_names.sort()
144145
col_names = [
145146
"# Splits",
146147
"# Merges",
@@ -585,6 +586,10 @@ def is_fragment_merge(self, key, label, kdtree):
585586
fragment_graph, self.fragment_writer[key]
586587
)
587588
break
589+
else:
590+
segment_id = util.get_segment_id(fragment_graph.filename)
591+
self.merged_labels.add((key, segment_id, -1))
592+
print(f"Skipping {segment_id} - run_length={fragment_graph.run_length}")
588593

589594
def find_merge_site(self, key, kdtree, fragment_graph, source, visited):
590595
for _, node in nx.dfs_edges(fragment_graph, source=source):
@@ -626,10 +631,12 @@ def process_merge_sites(self):
626631
self.merge_sites = pd.DataFrame(self.merge_sites).drop(idxs)
627632

628633
# Save merge sites
629-
for i in range(len(self.merge_sites)):
630-
filename = f"merge-{i + 1}.swc"
631-
xyz = self.merge_sites.iloc[i]["World"]
632-
swc_util.to_zipped_point(self.merge_writer, filename, xyz)
634+
if self.save_merges:
635+
for i in range(len(self.merge_sites)):
636+
filename = f"merge-{i + 1}.swc"
637+
xyz = self.merge_sites.iloc[i]["World"]
638+
swc_util.to_zipped_point(self.merge_writer, filename, xyz)
639+
self.merge_writer.close()
633640

634641
# Update counter
635642
for key in self.graphs.keys():
@@ -639,7 +646,7 @@ def process_merge_sites(self):
639646
# Save results
640647
path = os.path.join(self.output_dir, "merge_sites.csv")
641648
self.merge_sites.to_csv(path, index=False)
642-
self.merge_writer.close()
649+
643650

644651
def adjust_metrics(self, key):
645652
"""
@@ -750,7 +757,7 @@ def quantify_merges(self):
750757
"""
751758
for key in self.graphs:
752759
p = self.n_merged_edges[key] / self.graphs[key].graph["n_edges"]
753-
self.metrics.loc[key, "% Merged"] = p
760+
self.metrics.loc[key, "% Merged"] = 100 * p
754761

755762
# -- Compute Metrics --
756763
def compute_edge_accuracy(self):

0 commit comments

Comments
 (0)