1+ import argparse
12import os
23import json
34
89
910OUTPUT_FOLDER = "./ihc_counts"
1011
12+ COCHLEAE = [
13+ "M_LR_000226_L" ,
14+ "M_LR_000226_R" ,
15+ "M_LR_000227_L" ,
16+ "M_LR_000227_R" ,
17+ "G_EK_000233_L" ,
18+ "G_LR_000233_R" ,
1119
12- def check_project (plot = False , save_ihc_table = False , max_dist = None ):
13- s3 = create_s3_target ()
14- # cochleae = ["M_LR_000226_L", "M_LR_000226_R", "M_LR_000227_L", "M_LR_000227_R", "M_AMD_OTOF1_L"]
15- cochleae = ["M_LR_000226_L" , "M_LR_000226_R" , "M_LR_000227_L" , "M_LR_000227_R" ]
20+ ]
21+
22+
23+ SYNAPSE_DICT = {
24+ "M_LR_000226_L" : {"synapse_table_name" : "synapse_v3_ihc_v4c" , "ihc_table_name" : "IHC_v4c" },
25+ "M_LR_000226_R" : {"synapse_table_name" : "synapse_v3_ihc_v4c" , "ihc_table_name" : "IHC_v4c" },
26+ "M_LR_000227_L" : {"synapse_table_name" : "synapse_v3_ihc_v4c" , "ihc_table_name" : "IHC_v4c" },
27+ "M_LR_000227_R" : {"synapse_table_name" : "synapse_v3_ihc_v4c" , "ihc_table_name" : "IHC_v4c" },
28+ "G_EK_000233_L" : {"synapse_table_name" : "synapse_v3_ihc_v6" , "ihc_table_name" : "IHC_v6" },
29+ "G_LR_000233_R" : {"synapse_table_name" : "synapse_v3_ihc_v6" , "ihc_table_name" : "IHC_v6" },
30+ }
1631
32+
33+ def check_project (cochleae , output_folder , plot = False , save_ihc_table = False , max_dist = None ):
34+ s3 = create_s3_target ()
1735 results = {}
1836 for cochlea in cochleae :
19- synapse_table_name = "synapse_v3_ihc_v4c"
20- ihc_table_name = "IHC_v4c"
37+ if cochlea in SYNAPSE_DICT .keys ():
38+ synapse_table_name = SYNAPSE_DICT [cochlea ]["synapse_table_name" ]
39+ ihc_table_name = SYNAPSE_DICT [cochlea ]["ihc_table_name" ]
40+
41+ else :
42+ synapse_table_name = "synapse_v3_ihc_v4c"
43+ ihc_table_name = "IHC_v4c"
44+
2145 component_id = [1 ]
2246
2347 if cochlea == "M_AMD_OTOF1_L" :
@@ -82,8 +106,8 @@ def check_project(plot=False, save_ihc_table=False, max_dist=None):
82106 "run_length" : [run_length_dict [ihc_id ] for ihc_id in ihc_to_count .keys ()],
83107 "frequency" : [frequency_dict [ihc_id ] for ihc_id in ihc_to_count .keys ()]
84108 })
85- os .makedirs (OUTPUT_FOLDER , exist_ok = True )
86- output_path = os .path .join (OUTPUT_FOLDER , f"ihc_count_{ cochlea } .tsv" )
109+ os .makedirs (output_folder , exist_ok = True )
110+ output_path = os .path .join (output_folder , f"ihc_count_{ cochlea } .tsv" )
87111 ihc_count_table .to_csv (output_path , sep = "\t " , index = False )
88112
89113 if plot :
@@ -104,7 +128,15 @@ def check_project(plot=False, save_ihc_table=False, max_dist=None):
104128
105129
106130def main ():
107- check_project (plot = False , save_ihc_table = True , max_dist = 3 )
131+ parser = argparse .ArgumentParser (
132+ description = "Assign each segmentation instance a marker based on annotation thresholds."
133+ )
134+
135+ parser .add_argument ("-c" , "--cochlea" , type = str , nargs = "+" , default = COCHLEAE , help = "Cochlea(e) to process." )
136+ parser .add_argument ("-o" , "--output" , type = str , default = OUTPUT_FOLDER , help = "Output directory." )
137+
138+ args = parser .parse_args ()
139+ check_project (args .cochlea , args .output , plot = False , save_ihc_table = True , max_dist = 3 )
108140
109141
110142if __name__ == "__main__" :
0 commit comments