summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2025-03-17 08:56:07 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2025-03-17 08:56:07 +0100
commitde38d6384eb8213eb3c5a5ca1345fdc94675f240 (patch)
tree04be161f8a46ca2c171dffb8cfdcc8b4a330e9da
parent815bb24acd320d25deb2e40978fdfbe170ded01b (diff)
analyze-log: add --export-model-with-lut
-rwxr-xr-xbin/analyze-log.py7
-rw-r--r--lib/parameters.py11
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
@@ -46,6 +46,11 @@ def main():
"--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="+",
type=str,
@@ -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)}