Skip to content

Commit 918c71c

Browse files
anna-grimanna-grim
andauthored
Refactor merge detection (#156)
* refactor: dataloading * refactor: dataloading * major refactor * refactor: added swc run length to results csv --------- Co-authored-by: anna-grim <[email protected]>
1 parent 2b72ed3 commit 918c71c

File tree

4 files changed

+29
-35
lines changed

4 files changed

+29
-35
lines changed

demo/results-overview.txt

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Average Results...
2-
# Splits: 7.9680
2+
# Splits: 7.2780
33
# Merges: 0.0000
4-
Split Rate: 114.6940
5-
Merge Rate: 0.0000
4+
Split Rate: 124.3079
5+
Merge Rate: nan
66
% Split Edges: 1.1996
77
% Omit Edges: 4.5086
88
% Merged Edges: 0.0000
@@ -11,20 +11,5 @@ Average Results...
1111
Normalized ERL: 0.3949
1212

1313
Total Results...
14-
# Splits: 31
15-
# Merges: 0
16-
Average Results...
17-
# Splits: 7.9680
18-
# Merges: 0.0000
19-
Split Rate: 114.6940
20-
Merge Rate: 0.0000
21-
% Split Edges: 1.1996
22-
% Omit Edges: 4.5086
23-
% Merged Edges: 0.0000
24-
Edge Accuracy: 95.4914
25-
ERL: 180.8849
26-
Normalized ERL: 0.3949
27-
28-
Total Results...
29-
# Splits: 31
14+
# Splits: 27
3015
# Merges: 0

demo/results.csv

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
,# Splits,# Merges,Split Rate,Merge Rate,% Split Edges,% Omit Edges,% Merged Edges,Edge Accuracy,ERL,Normalized ERL,GT Run Length
2-
SNT_Data-002,0,,84.08376161857129,,0.0,0.0,0.0,100.0,84.08,1.0,84.08
3-
SNT_Data-035,0,,163.37074041968347,,0.0,0.0,0.0,100.0,163.37,1.0,163.37
4-
SNT_Data-037,1,,211.9805590314331,,0.98,1.96,0.0,98.04,184.57,0.8585,214.98
5-
SNT_Data-038,1,,251.78664303157595,,0.83,1.65,0.0,98.35,144.38,0.5667,254.79
6-
SNT_Data-041,4,,55.46881994891758,,2.83,7.55,0.0,92.45,52.62,0.2286,230.17
7-
SNT_Data-043,2,,46.354813254114404,,1.92,9.62,0.0,90.38,35.32,0.3334,105.96
8-
SNT_Data-051,0,,106.56843799568803,,0.0,0.0,0.0,100.0,106.57,1.0,106.57
9-
SNT_Data-052,6,,99.17738848187402,,1.37,6.48,0.0,93.52,265.1,0.4184,633.57
10-
SNT_Data-053,15,,98.7153068880868,,1.31,4.46,0.0,95.54,207.79,0.1343,1547.45
11-
SNT_Data-062,2,,105.1897956496423,,0.9,8.11,0.0,91.89,116.9,0.5144,227.24
12-
SNT_Data-074,0,,80.17991450259146,,0.0,0.0,0.0,100.0,80.18,1.0,80.18
1+
,SWC Run Length,# Splits,# Merges,% Split Edges,% Omit Edges,% Merged Edges,ERL,Normalized ERL,Edge Accuracy,Split Rate,Merge Rate
2+
SNT_Data-002,84.0837616185713,0.0,,0.0,0.0,0.0,84.08,1.0,100.0,,
3+
SNT_Data-035,163.37074041968341,0.0,,0.0,0.0,0.0,163.37,1.0,100.0,,
4+
SNT_Data-037,214.98055903143316,1.0,,0.9803921568627451,0.9803921568627451,0.0,40.27,0.1873,98.04,62.82,
5+
SNT_Data-038,254.78664303157612,1.0,,0.8264462809917356,5.785123966942149,0.0,146.36,0.5744,93.39,224.52,
6+
SNT_Data-041,230.16780853555437,3.0,,2.830188679245283,0.0,0.0,45.66,0.1984,97.17,51.2,
7+
SNT_Data-043,105.95635789438495,1.0,,1.9230769230769231,1.9230769230769231,0.0,30.3,0.286,96.15,51.19,
8+
SNT_Data-051,106.56843799568803,0.0,,0.0,0.0,0.0,106.57,1.0,100.0,,
9+
SNT_Data-052,633.5729425811579,5.0,,1.3651877133105803,2.3890784982935154,0.0,293.17,0.4627,96.25,103.53,
10+
SNT_Data-053,1547.4466172913558,14.0,,1.3123359580052494,0.7874015748031497,0.0,217.71,0.1407,97.9,92.8,
11+
SNT_Data-062,227.24329460444093,2.0,,0.9009009009009009,4.504504504504505,0.0,116.9,0.5144,94.59,105.19,
12+
SNT_Data-074,80.17991450259146,0.0,,0.0,0.0,0.0,80.18,1.0,100.0,,

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ dependencies = [
2525
"scikit-image",
2626
"tensorstore",
2727
"tifffile",
28-
"xlwt",
2928
"zarr",
3029
]
3130

src/segmentation_skeleton_metrics/evaluate.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,24 @@ def run(self, gt_graphs, fragment_graphs=None):
141141

142142
# Save report
143143
path = f"{self.output_dir}/{self.results_filename}.csv"
144-
results.to_csv(path, index=False)
144+
results.to_csv(path, index=True)
145145
self.report_summary(results)
146146

147147
def init_results(self, gt_graphs):
148-
cols = list(self.metrics.keys()) + list(self.derived_metrics.keys())
148+
# Create dataframe
149+
cols = (
150+
["SWC Run Length"] +
151+
list(self.metrics.keys()) +
152+
list(self.derived_metrics.keys())
153+
)
149154
index = list(gt_graphs.keys())
150155
index.sort()
151-
return pd.DataFrame(np.nan, index=index, columns=cols)
156+
results = pd.DataFrame(np.nan, index=index, columns=cols)
157+
158+
# Populate SWC Run Length column
159+
for key, graph in gt_graphs.items():
160+
results.loc[key, "SWC Run Length"] = graph.run_length
161+
return results
152162

153163
def report_summary(self, results):
154164
pass

0 commit comments

Comments
 (0)