Skip to content

Commit a8bb53e

Browse files
author
anna-grim
committed
results updates
1 parent 712985f commit a8bb53e

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

src/segmentation_skeleton_metrics/skeleton_metric.py

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def __init__(
136136
self.load_fragments(fragments_pointer)
137137

138138
# Initialize metrics
139-
util.mkdir(output_dir, delete=True)
139+
util.mkdir(output_dir)
140140
self.init_writers()
141141
self.merge_sites = list()
142142

@@ -589,7 +589,7 @@ def is_fragment_merge(self, key, label, kdtree):
589589
else:
590590
segment_id = util.get_segment_id(fragment_graph.filename)
591591
self.merged_labels.add((key, segment_id, -1))
592-
print(f"Skipping {segment_id} - run_length={fragment_graph.run_length}")
592+
print(f"Skipping {fragment_graph.filename} - run_length={fragment_graph.run_length}")
593593

594594
def find_merge_site(self, key, kdtree, fragment_graph, source, visited):
595595
for _, node in nx.dfs_edges(fragment_graph, source=source):
@@ -668,21 +668,24 @@ def adjust_metrics(self, key):
668668
"""
669669
visited = set()
670670
for label in self.preexisting_merges:
671-
label = self.label_handler.mapping[label]
672-
if label in self.graphs[key].get_labels():
673-
if label not in visited and label != 0:
674-
# Get component with label
675-
nodes = self.graphs[key].nodes_with_label(label)
676-
root = util.sample_once(list(nodes))
677-
678-
# Adjust metrics
679-
rl = self.graphs[key].run_length_from(root)
680-
self.graphs[key].run_length -= np.sum(rl)
681-
self.graphs[key].graph["n_edges"] -= len(nodes) - 1
682-
683-
# Update graph
684-
self.graphs[key].remove_nodes_from(nodes)
685-
visited.add(label)
671+
try:
672+
label = self.label_handler.mapping[label]
673+
if label in self.graphs[key].get_labels():
674+
if label not in visited and label != 0:
675+
# Get component with label
676+
nodes = self.graphs[key].nodes_with_label(label)
677+
root = util.sample_once(list(nodes))
678+
679+
# Adjust metrics
680+
rl = self.graphs[key].run_length_from(root)
681+
self.graphs[key].run_length -= np.sum(rl)
682+
self.graphs[key].graph["n_edges"] -= len(nodes) - 1
683+
684+
# Update graph
685+
self.graphs[key].remove_nodes_from(nodes)
686+
visited.add(label)
687+
except:
688+
pass
686689

687690
def find_label_intersections(self):
688691
"""
@@ -756,7 +759,8 @@ def quantify_merges(self):
756759
757760
"""
758761
for key in self.graphs:
759-
p = self.n_merged_edges[key] / self.graphs[key].graph["n_edges"]
762+
n_edges = max(self.graphs[key].graph["n_edges"], 1)
763+
p = self.n_merged_edges[key] / n_edges
760764
self.metrics.loc[key, "% Merged"] = 100 * p
761765

762766
# -- Compute Metrics --

src/segmentation_skeleton_metrics/utils/swc_util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ def to_zipped_point(zip_writer, filename, xyz):
527527
"""
528528
with StringIO() as text_buffer:
529529
# Preamble
530-
text_buffer.write("# COLOR 1.0 0.0 0.0")
530+
text_buffer.write("# COLOR 1.0 0.0 1.0")
531531
text_buffer.write("# id, type, z, y, x, r, pid")
532532

533533
# Write entry

0 commit comments

Comments
 (0)