diff --git a/bin/run.py b/bin/run.py new file mode 100644 index 0000000000000000000000000000000000000000..60a3b6b8fb97d8373e8d85d624435d0358952e0b --- /dev/null +++ b/bin/run.py @@ -0,0 +1,58 @@ +#!/usr/bin/env jupyter + +import argparse + +from aliby.pipeline import Pipeline, PipelineParameters + +parser = argparse.ArgumentParser( + prog="aliby-run", description="Run a default microscopy analysis pipeline" +) + +param_values = { + "expt_id": None, + "distributed": 2, + "tps": 2, + "directory": "./data", + "filter": 0, + "host": None, + "username": None, + "password": None + # "overwrite": True, + # "earlystop": { + # "min_tp": 100, + # "thresh_pos_clogged": 0.4, + # "thresh_trap_ncells": 8, + # "thresh_trap_area": 0.9, + # "ntps_to_eval": 5, + # }, + # "logfile_level": "INFO", + # "use_explog": True, + # "use_logfile": False, +} + + +def _cast_str(x: str or None): + """ + Cast string as int if possible. If Nonetype return None. + """ + if x: + try: + return int(x) + except: + return x + + +for k in param_values: + parser.add_argument(f"--{k}", action="store") + +args = parser.parse_args() + +for k in param_values: + if passed_value := _cast_str(getattr(args, k)): + + param_values[k] = passed_value + +params = PipelineParameters.default(general=param_values) +p = Pipeline(params) + +p.run()