diff --git a/src/aliby/pipeline.py b/src/aliby/pipeline.py index 37a4182a9f25c4b9ca81b359b369571cbafe6040..e7d32ec027a5090500b20b517267d7a44a1d85aa 100644 --- a/src/aliby/pipeline.py +++ b/src/aliby/pipeline.py @@ -186,11 +186,19 @@ class Pipeline(ProcessABC): for k in ("host", "username", "password") } self.expt_id = config["general"]["id"] - self.setLogger(config["general"]["directory"]) + self.setLogger( + config["general"]["directory"], + logfile_root_name=config["general"]["id"] + .split("/")[-1] + .split(".")[0], + ) @staticmethod def setLogger( - folder, file_level: str = "INFO", stream_level: str = "INFO" + folder, + file_level: str = "INFO", + stream_level: str = "INFO", + logfile_root_name: str = None, ): """Initialise and format logger.""" logger = logging.getLogger("aliby") @@ -205,7 +213,11 @@ class Pipeline(ProcessABC): ch.setFormatter(formatter) logger.addHandler(ch) # create file handler that logs even debug messages - fh = logging.FileHandler(Path(folder) / "aliby.log", "w+") + if logfile_root_name is None: + logfile_root_name = "aliby" + fh = logging.FileHandler( + Path(folder) / f"{logfile_root_name}.log", "w+" + ) fh.setLevel(getattr(logging, file_level)) fh.setFormatter(formatter) logger.addHandler(fh) @@ -400,6 +412,7 @@ class Pipeline(ProcessABC): self.log( "WARNING: Bud has been assigned as its own mother." ) + raise Exception("Catastrophic Baby error") baby_writer.write( data=result, overwrite=["mother_assign"], @@ -486,8 +499,7 @@ def check_earlystop(filename: str, es_parameters: dict, tile_size: int): ) # find tiles with cells covering too great a fraction of the tiles' area traps_above_athresh = ( - cells_used.groupby("trap").sum().apply(np.mean, axis=1) - / tile_size**2 + cells_used.groupby("trap").sum().apply(np.mean, axis=1) / tile_size**2 > es_parameters["thresh_trap_area"] ) return (traps_above_nthresh & traps_above_athresh).mean()