Skip to content

Commit 0e6fb72

Browse files
anna-grimanna-grim
andauthored
Bug merge detection (#168)
* bug: overcount swcs * refactor: updated merge/split rates * refactor: compute rates --------- Co-authored-by: anna-grim <anna.grim@alleninstitute.org>
1 parent 6026783 commit 0e6fb72

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

src/segmentation_skeleton_metrics/skeleton_metrics.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -713,15 +713,14 @@ def __call__(self, gt_graphs, results):
713713
for name, graph in gt_graphs.items():
714714
# Compute result
715715
if results["# Splits"][name] > 0:
716-
rl = util.compute_segmented_run_length(graph, results)
717-
rate = rl / results["# Splits"][name]
716+
rl = util.compute_segmented_run_length(graph, results, name)
717+
new_results[name] = round(rl / results["# Splits"][name], 2)
718718
else:
719-
rate = np.nan
720-
new_results[name] = round(rate, 2)
719+
new_results[name] = np.nan
721720

722-
# Update progress bar
723-
if self.verbose:
724-
pbar.update(1)
721+
# Update progress bar
722+
if self.verbose:
723+
pbar.update(1)
725724
return self.reformat(new_results)
726725

727726

@@ -763,15 +762,14 @@ def __call__(self, gt_graphs, results):
763762
stored under a column called "self.name".
764763
"""
765764
new_results = dict()
766-
pbar = self.get_pbar(len(results.index))
765+
pbar = self.get_pbar(len(gt_graphs))
767766
for name, graph in gt_graphs.items():
768767
# Compute result
769768
if results["# Merges"][name] > 0:
770-
rl = util.compute_segmented_run_length(graph, results)
771-
rate = rl / results["# Merges"][name]
769+
rl = util.compute_segmented_run_length(graph, results, name)
770+
new_results[name] = round(rl / results["# Merges"][name], 2)
772771
else:
773-
rate = np.nan
774-
new_results[name] = round(rate, 2)
772+
new_results[name] = np.nan
775773

776774
# Update progress bar
777775
if self.verbose:

src/segmentation_skeleton_metrics/utils/util.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ def compute_weighted_avg(df, column_name):
483483
return (values * weights).sum() / weights.sum()
484484

485485

486-
def compute_segmented_run_length(graph, results):
486+
def compute_segmented_run_length(graph, results, name):
487487
"""
488488
Computes the run length of a graph that was segmented.
489489
@@ -499,8 +499,8 @@ def compute_segmented_run_length(graph, results):
499499
float
500500
Run length of a graph that was segmented.
501501
"""
502-
omit_run_length = graph.run_length * results["% Omit"] / 100
503-
split_run_length = graph.run_length * results["% Split"] / 100
502+
omit_run_length = graph.run_length * results["% Omit Edges"][name] / 100
503+
split_run_length = graph.run_length * results["% Split Edges"][name] / 100
504504
return graph.run_length - omit_run_length - split_run_length
505505

506506

0 commit comments

Comments
 (0)