Skip to content

Commit 71c2ad1

Browse files
committed
added mask for mitos with cristae labels
1 parent 8d04d64 commit 71c2ad1

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

scripts/cooper/training/evaluate_cristae.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import pandas as pd
99

1010
from elf.evaluation import matching, symmetric_best_dice_score
11+
import elf.parallel as parallel
1112

1213

1314
def evaluate(labels, vesicles):
@@ -43,6 +44,13 @@ def evaluate_file(labels_path, seg_path, model_name, segment_key, anno_key, mask
4344
print("Could not find label file for", seg_path)
4445
print("Skipping...")
4546

47+
if "Otof_AVCN03_429C_WT_M" in seg_path:
48+
print("Removing unlabeled cristae by mitos", seg_path)
49+
# read mito labels
50+
mito_labels = open_file(labels_path)["raw_mitos_combined"][1][:]
51+
mito_labels = parallel.label(mito_labels, block_shape=(128, 256, 256), verbose=True)
52+
seg[mito_labels != 1] = 0
53+
4654
# evaluate the match of ground truth and vesicles
4755
scores = evaluate(labels, seg)
4856

@@ -72,7 +80,7 @@ def evaluate_file(labels_path, seg_path, model_name, segment_key, anno_key, mask
7280

7381

7482
def evaluate_folder(labels_path, segmentation_path, model_name, segment_key,
75-
anno_key, mask_key, output_folder, ext=".tif"):
83+
anno_key, mask_key, output_folder, ext=".n5"):
7684
print(f"Evaluating folder {segmentation_path}")
7785
print(f"Using labels stored in {labels_path}")
7886

@@ -81,9 +89,9 @@ def evaluate_folder(labels_path, segmentation_path, model_name, segment_key,
8189
if label_paths is None or seg_paths is None:
8290
print("Could not find label file or segmentation file")
8391
return
84-
8592
for seg_path in seg_paths:
86-
label_path = find_label_file(seg_path, label_paths)
93+
# label_path = find_label_file(seg_path, label_paths)
94+
label_path = seg_path # both store in n5
8795
if label_path is not None:
8896
evaluate_file(label_path, seg_path, model_name, segment_key, anno_key, mask_key, output_folder)
8997
else:
@@ -120,16 +128,16 @@ def find_label_file(given_path: str, label_paths: list) -> str:
120128

121129
def main():
122130
parser = argparse.ArgumentParser()
123-
parser.add_argument("-sp", "--segmentation_path", required=True,
131+
parser.add_argument("-sp", "--segmentation_path", required=False,
124132
default="/scratch-grete/projects/nim00007/data/mitochondria/cooper/cristae_test_segmentations/")
125-
parser.add_argument("-gp", "--groundtruth_path", required=True,
133+
parser.add_argument("-gp", "--groundtruth_path", required=False,
126134
default="/scratch-grete/projects/nim00007/data/mitochondria/cooper/cristae_test_segmentations/")
127135
parser.add_argument("-n", "--model_name", required=True)
128-
parser.add_argument("-sk", "--segmentation_key", default=None, default="labels/new_cristae_seg")
129-
parser.add_argument("-gk", "--groundtruth_key", default=None, default="labels/cristae")
136+
parser.add_argument("-sk", "--segmentation_key", default="labels/new_cristae_seg")
137+
parser.add_argument("-gk", "--groundtruth_key", default="labels/cristae")
130138
parser.add_argument("-m", "--mask_key", default=None)
131139
parser.add_argument(
132-
"-o", "--output_folder", required=True,
140+
"-o", "--output_folder", required=False,
133141
default="/scratch-grete/projects/nim00007/data/mitochondria/cooper/cristae_test_segmentations/eval"
134142
)
135143
args = parser.parse_args()

0 commit comments

Comments
 (0)