@@ -41,6 +41,8 @@ def evaluate_file(labels_path, seg_path, model_name, segment_key, anno_key, mask
4141 labels = open_file (labels_path , "r" )[anno_key ][:]
4242 if ".tif" in seg_path :
4343 seg = imread (seg_path )
44+ elif segment_key is not None :
45+ seg = open_file (seg_path , "r" )[segment_key ][:]
4446 if labels is None or seg is None :
4547 print ("Could not find label file for" , seg_path )
4648 print ("Skipping..." )
@@ -74,14 +76,14 @@ def evaluate_file(labels_path, seg_path, model_name, segment_key, anno_key, mask
7476
7577
7678def evaluate_folder (labels_path , segmentation_path , model_name , segment_key , anno_key ,
77- anno_ext , mask_key , output_folder ):
79+ anno_ext , segment_ext , mask_key , output_folder ):
7880 print (f"Evaluating folder { segmentation_path } " )
7981 print (f"Using labels stored in { labels_path } " )
8082 if labels_path is not None :
8183 label_paths = get_file_paths (labels_path , ext = anno_ext )
8284 else :
8385 label_paths = _get_default_label_paths ()
84- seg_paths = get_file_paths (segmentation_path , ext = ".tif" )
86+ seg_paths = get_file_paths (segmentation_path , ext = segment_ext )
8587 if label_paths is None or seg_paths is None :
8688 print ("Could not find label file or segmentation file" )
8789 return
@@ -117,7 +119,9 @@ def find_label_file(given_path: str, label_paths: list) -> str:
117119 raw_base = os .path .splitext (os .path .basename (given_path ))[0 ] # Remove extension
118120 raw_base = raw_base .replace ("prediction" , "" ).replace ("pred" , "" )
119121 raw_base = raw_base .replace ("segmentation" , "" ).replace ("seg" , "" )
122+ raw_base = raw_base .replace ("mito-v3_sd18_bt015_with__" , "" )
120123 raw_base = raw_base .rstrip ("_" )
124+ print ("raw_base" , raw_base )
121125 for label_path in label_paths :
122126 label_base = os .path .splitext (os .path .basename (label_path ))[0 ] # Remove extension
123127 if raw_base .strip ().lower () in label_base .strip ().lower (): # Ensure raw name is contained in label name
@@ -144,13 +148,14 @@ def main():
144148 parser .add_argument ("-sk" , "--segmentation_key" , default = None )
145149 parser .add_argument ("-gk" , "--groundtruth_key" , default = None )
146150 parser .add_argument ("-ae" , "--annotation_extension" , default = None )
151+ parser .add_argument ("-se" , "--segmentation_extension" , default = None )
147152 parser .add_argument ("-m" , "--mask_key" , default = None )
148153 parser .add_argument ("-o" , "--output_folder" , required = True )
149154 args = parser .parse_args ()
150155
151156 if os .path .isdir (args .segmentation_path ):
152157 evaluate_folder (args .groundtruth_path , args .segmentation_path , args .model_name , args .segmentation_key ,
153- args .groundtruth_key , args .annotation_extension ,
158+ args .groundtruth_key , args .annotation_extension , args . segmentation_extension ,
154159 args .mask_key , args .output_folder )
155160 else :
156161 evaluate_file (args .groundtruth_path , args .segmentation_path , args .model_name , args .segmentation_key ,
0 commit comments