Skip to content

Commit 866d2a2

Browse files
anna-grimanna-grim
andauthored
Feat save merge sites (#103)
* refactor: improved new features * improved new feature --------- Co-authored-by: anna-grim <[email protected]>
1 parent b3ed9e6 commit 866d2a2

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

src/segmentation_skeleton_metrics/skeleton_metric.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ def init_writers(self):
357357
"""
358358
# Fragments writer
359359
if self.save_fragments:
360-
# Initialize direction
360+
# Initialize directory
361361
fragments_dir = os.path.join(self.output_dir, "fragments")
362362
util.mkdir(fragments_dir, delete=True)
363363

@@ -369,29 +369,20 @@ def init_writers(self):
369369
self.graphs[key].to_zipped_swc(self.fragment_writer[key])
370370

371371
# Merged fragments writer
372-
if self.save_merges:
372+
if self.save_merges or self.localize_merges:
373373
# Initialize directory
374374
merges_dir = os.path.join(self.output_dir, "merged_fragments")
375-
util.mkdir(merged_fragments_dir, delete=True)
375+
util.mkdir(merges_dir, delete=True)
376376

377377
# ZIP writer
378378
self.merge_writer = dict()
379379
for key in self.graphs.keys():
380-
zip_path = f"{merged_fragments_dir}/{key}.zip"
380+
zip_path = f"{merges_dir}/{key}.zip"
381381
self.merge_writer[key] = ZipFile(zip_path, "w")
382382
self.graphs[key].to_zipped_swc(self.merge_writer[key])
383383

384384
# Merge sites
385385
if self.localize_merges:
386-
# Initialize directory
387-
merges_dir = os.path.join(self.output_dir, "merge-sites")
388-
util.mkdir(merges_dir, delete=True)
389-
390-
# ZIP writer
391-
zip_path = f"{merges_dir}/estimated-merge-sites.zip"
392-
self.site_zip_writer = ZipFile(zip_path, "w")
393-
394-
# Txt writer
395386
sites_path = os.path.join(merges_dir, "estimated-merge-sites.txt")
396387
self.site_txt_writer = open(sites_path, "w", encoding="utf-8")
397388

@@ -737,10 +728,10 @@ def find_merge_site(self, key, fragment_graph, kdtree):
737728
if self.physical_dist(gt_voxel, voxel_j) < 2:
738729
hit = True
739730
merge_cnt = np.sum(list(self.merge_cnt.values()))
740-
filename = f"{merge_cnt}.swc"
731+
filename = f"merge-{merge_cnt}.swc"
741732
xyz = img_util.to_physical(voxel_j, self.anisotropy)
742733
swc_util.to_zipped_point(
743-
self.site_zip_writer, filename, xyz
734+
self.merge_writer[key], filename, xyz
744735
)
745736
self.site_txt_writer.write(f"{tuple(xyz)}\n")
746737
break

src/segmentation_skeleton_metrics/utils/swc_util.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,12 +405,12 @@ def to_zipped_point(zip_writer, filename, xyz):
405405
"""
406406
with StringIO() as text_buffer:
407407
# Preamble
408-
text_buffer.write("# COLOR [1.0 0.0 0.0]")
408+
text_buffer.write("# COLOR 1.0 0.0 0.0")
409409
text_buffer.write("# id, type, z, y, x, r, pid")
410410

411411
# Write entry
412412
x, y, z = tuple(xyz)
413-
text_buffer.write("\n" + f"1 2 {x} {y} {z} 15 -1")
413+
text_buffer.write("\n" + f"1 2 {x} {y} {z} 10 -1")
414414

415415
# Finish
416416
zip_writer.writestr(filename, text_buffer.getvalue())

0 commit comments

Comments
 (0)