From de38d6384eb8213eb3c5a5ca1345fdc94675f240 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Mon, 17 Mar 2025 08:56:07 +0100 Subject: analyze-log: add --export-model-with-lut --- bin/analyze-log.py | 7 ++++++- lib/parameters.py | 11 +++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bin/analyze-log.py b/bin/analyze-log.py index 2c45318..3f04e01 100755 --- a/bin/analyze-log.py +++ b/bin/analyze-log.py @@ -45,6 +45,11 @@ def main(): parser.add_argument( "--export-model", metavar="FILE", type=str, help="Export JSON model to FILE" ) + parser.add_argument( + "--export-model-with-lut", + action="store_true", + help="Include LUT in model export", + ) parser.add_argument( "logfiles", nargs="+", @@ -287,7 +292,7 @@ def main(): if args.export_model: print(f"Exporting model to {args.export_model}") - json_model = model.to_json() + json_model = model.to_json(with_lut=args.export_model_with_lut) with open(args.export_model, "w") as f: json.dump( json_model, f, indent=2, sort_keys=True, cls=dfatool.utils.NpEncoder diff --git a/lib/parameters.py b/lib/parameters.py index 0653100..b648c4c 100644 --- a/lib/parameters.py +++ b/lib/parameters.py @@ -621,13 +621,20 @@ class ModelAttribute: mean = np.mean(self.data) return f"ModelAttribute<{self.name}, {self.attr}, mean={mean}>" - def to_json(self, **kwargs): - return { + def to_json(self, with_lut=False, **kwargs): + ret = { "paramNames": self.param_names, "argCount": self.arg_count, "modelFunction": self.model_function.to_json(**kwargs), } + if with_lut: + ret["LUT"] = list() + for key, value in self.by_param.items(): + ret["LUT"].append((key, value)) + + return ret + def to_dref(self, unit=None): ret = {"mean": (self.mean, unit), "median": (self.median, unit)} -- cgit v1.2.3